2006年12月26日 星期二

寒假想讀的書


Linux內核0.11完全註譯

 

Linux內核0.11源碼分析


美麗境界


美麗境界

約翰奈許於 1947年進入普林斯頓大學數學系研究所就讀,對普林斯頓大學來說,這名絕頂聰明但是個性偏激的傑出青年卻成為一名問題學生。他不但和同學無法相處,而且還時常曠課,他心中只有一個念頭:發明出一個原創理論。他深信這是成功的唯一方法。

  雖然他的同儕都希望看到他失敗,但是卻在無意間激發出他的鬥志,有一天他們在酒吧閒聊,看到一名身材火辣的金髮美女,於是慫恿奈許去追她,但是這卻激發了他的靈感,促使他發現一個突破性的理論,後來他所寫的論文推翻了現代經濟學之父亞當史密斯一百五十年來牢不可破的經濟理論,從此改變了他的一生。 


  奈許以這篇論文得到在麻省理工學院的研究計畫和教職,當時世界正值冷戰時期,而他也希望能對美國有所貢獻,這時突然出現一名情治人員威廉帕奇,請他參與一項機密的解碼任務。他抓住機會全力投入這項任務,同時也在校內認識一位美麗的女學生愛莉莎賴德,這位傑出的研究生讓奈許接觸到一個他從來沒認真考慮過的概念,那就是愛情。


  他們的感情進展神速,很快就決定結婚,但是奈許的機密任務也變得越來越危險,他完全沉迷在一個妄想的世界,他異常的行為舉止終於被診斷為妄想性的精神分裂症。


  從這時開始他就開始了和精神病的長期抗爭,而他的妻子愛莉莎雖然飽受她丈夫異常行為的折磨,但是卻仍然守在他身邊,以她的愛包容他的瘋狂行徑,經過多年的奮鬥後,雖然他仍有不正常的幻覺,但是奈許卻能接受自己的精神異常,重返普林斯頓大學教書,並且於1994年獲得諾貝爾獎,而他的理論則成為二十世紀最有影響力的理論之一,証明了他不只是擁有一個絕頂聰明的腦袋,同時還擁有一個美麗的心靈。


 


2006年12月25日 星期一

聖誕夜


這是第一個在東海的聖誕夜,早就聞名東海的聖誕夜了,尤其是教堂。先去系上參加系上的聖誕活動,我只能說資工人都是賭性堅強,連聖誕節的活動都發紙鈔。當然,還有學長姊拍攝的搞笑影片,猜看看誰是最後的存活者。之後,就到上籃參加學生會的晚會,滿High的。快到12點時,就趕到教堂,等敲鐘。我第一次見識到,教堂外的草皮有這麼多人,真是太恐怖了。不過,鐘聲有點小聲,聽說數錯鐘聲的情侶會分手。敲完鐘後,我就到教堂去了,不是進去裡面,而是在門外,整個感覺就是很好。回來的時候已經一點多了。路上都是閃光彈,我想說明年我也要帶閃光啦!!主啊,我可以這樣跟你禱告嗎?

還是以下開放報名

-----------------------------

2006年12月23日 星期六

二手書店之旅


今天,拿了男宿整潔優良寢室的麥當勞禮卷去吃麥當勞。回來的時候,經過一家二手書店。進去逛了很久,進去敗了五本書。

C語言群論

羅蘭小語 第四集

YAHOO稱霸網際網路精采傳奇

開放的人生

讀書術 黑川康正



------

500, NT.


2006年12月18日 星期一

賽局理論-John Nash


來東海這幾個月,發現 賽局理論-John Nash 最漂亮的女孩通常都沒人追,可信度頗高。大家會互相臆測,最漂亮的女孩一定有人追了,所以轉而求其次,變成漂亮的女孩都沒人追。

2006年12月16日 星期六

SA群英會@靜宜


StudyArea資訊安全群英會在靜宜大學舉行,我跟一些學長跟同學去參加。真是可惡的下雨天,溫度也超低的。本來,一開始是要跟同學搭公車去,不過星期二的時候ZZ說他要載。不過,後來又說,換個方式,給我們車,我們自己騎。我想說,這是我第一次騎車上中港路,又是下雨天,滿害怕的,哈。不過,當天另外一個學長來了,所以,就讓學長載過去靜宜,中港路的風真大。到了會場,有先介紹一下現場的來賓,有KKCITY站長 ,PIXNET站長FAR...一些人物。我拿到了一本書,UBUNTU玩全手冊。


2006年12月7日 星期四

搶救小貓大作戰


下午,上完程式課回來遠遠的就聽到二十一棟旁的停車場有小貓在叫。我跟小光就好奇的跟過去,看到聖嚴也在那,原來真的有小貓在車子裡。車前的玻璃有留了一張紙條,說引擎內可能有小貓。我們就看阿看看阿看,等了好久。之後,我們試著把小貓趕下來。不久,吸引了不少人潮幫忙,東海人還滿有愛心的。有個熱心的女孩,我當然不知道是誰,不過她一直等到小貓就出才離開。小貓首先在第一台車上,後來車主來了,我們一起把他們趕下車,我是說他們,也就是有兩隻。他們出來後,馬上又跳到另外一台車,這部車的車主應該是文學院的老師。她大方的打開引擎蓋,讓我們把小貓就出來,不過還是費了很大的心力。之後,他們又跑到另外一台車了。由於,天色暗了,開始出動宿舍的阿波羅照明燈,換了兩個。在過程中還有聯絡學校的各個單位,最重要的是,我們聯絡了消防隊。不久,消防車就來了。不過,小貓就自己跑出來了。

2006年11月24日 星期五

關於計概


作者: peicheng () 看板: P_peicheng

標題: 關於計概

時間: Fri Nov 24 22:53:13 2006



今天上計概課,教授發了A4白紙,出了五個題目。

他常常在說,重要的不是分數,而是你會了嗎?

這次的考試,是一些數值表示法的換算。

我還以為我真的會了,

不過,不太熟練

我想,我連英文題目都搞不太懂意思

一開始我就搞錯題目在問什麼了

不過後面做的不錯

教授說,

這是讀資訊系的基本能力

資訊系是寫程式給別人用的

不是你去用別人的程式

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


2006年11月22日 星期三

一個一維陣列的例子


作者: peicheng () 看板: P_peicheng

標題: 一個一維陣列的例子

時間: Wed Nov 22 23:42:41 2006



public class Test {



public static void main(String[] args) {

int a1[] = new int[10];

int a2[] = new int[10];



for (int i = 0; i < a1.length; i++) {

a1[i] = (int) (Math.random() * 11) - 5;

System.out.print(a1[i] + " ");

}



for (int i = 0; i < a1.length; i++) {



for (int j = 0; j <= i; j++) {

a2[i]=a2[i]+a1[j];





}

}



System.out.println();





for (int i = 0; i < a2.length; i++) {

System.out.print(a2[i]+" ");

}









}

}



test case



3 0 2 0 -2 4 1 0 2 1

3 3 5 5 3 7 8 8 10 11



--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海

peicheng 在 06/11/22 23:43:57 從 140.128.194.78 修改這篇文章

peicheng 在 06/11/22 23:51:39 從 140.128.194.78 修改這篇文章


sub作業擲骰子 取亂數ex用array


作者: peicheng () 看板: P_peicheng

標題: sub作業擲骰子 取亂數ex用array

時間: Wed Nov 22 22:42:53 2006



public class Test {



public static void main(String[] args) {

int a1[]=new int[10];

int a2[]=new int[10];

for (int i = 0; i < a1.length; i++) {

a1[i]=(int)(Math.random()*11)-5;

System.out.println(a1[i]);

}

}

}







--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


取亂數存ARRAY


作者: peicheng () 看板: P_peicheng

標題: 取亂數存ARRAY

時間: Wed Nov 22 17:56:05 2006



public class Test {



public static void main(String[] args) {

int a1[]=new int[100];

int a2[]=new int[100];

for (int i = 0; i < 100; i++) {

a1[i] = (int)(Math.random() * 11)-5;

System.out.println(a1[i]);



}



}

}

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆 PC-ROOM.csie.thu.edu.tw海


取亂數1-6 (JAVA)


作者: peicheng () 看板: P_peicheng

標題: 取亂數1-6 (JAVA)

時間: Wed Nov 22 17:36:32 2006



public class Test {



public static void main(String[] args) {

for (int i = 0; i < 6; i++) {

int a = (int) (Math.random() * 6);

System.out.println(a+1);



}



}

}

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆 PC-ROOM.csie.thu.edu.tw海


想寫隻抓星座運勢的程式


最近一直有在看魔羯版,發現跟我的情形還滿符合的。

大度山上的魔羯版之前有人會貼上每週與每日的運勢,可是這幾天卻沒有人。

從那麼多個網站去看,有點小麻煩。

想寫個script去抓各個網站的星座運勢。

不過最近感覺起來比較忙,

雖說期中考剛考完,可是各個事情都一直來。

理當,這個禮拜是要是輕鬆的一週,卻不竟然。

尤其是JAVA教授開始揮大刀了,

下個作業是用JAVA寫視窗的擲骰子,

要先會畫骰子的點數,在用亂數取骰子的點數。

總之,有的忙了。

2006年11月16日 星期四

SNIFF原理解析















SNIFF原理解析


來源:本文出自:http://www.xfocus.org 作者: xundi (2001-10-01 15:00:00)




2001-04-01.秋天的樹.  



一 前言  



  SNIFF真是一個古老的話題,關於在網絡上採用SNIFF來獲取敏感信息已經不是什麼

新鮮事,也不乏很多成功的案例,那麼,SNIFF究竟是什麼呢? SNIFF就是嗅探器,就是

竊聽器,SNIFF靜悄悄的工作在網絡的底層,把你的秘密全部記錄下來。看過威爾史密斯

演的《全民公敵》嗎?SNIFF就像裡面精巧的竊聽器一樣,讓你防不勝防。  



  SNIFF可以是軟件,也可以是硬件,既然是軟件那就要分平台,有WINDOWS下的、UNXI

下的等,硬件的SNIFF稱為網絡分析儀,反正不管硬件軟件,目標只有一個,就是獲取在網

絡上傳輸的各種信息。本文僅僅介紹軟件的SNIFF。  



  當你舒適的坐在家裡,愜意的享受網絡給你帶來的便利,收取你的EMAIL,購買你喜歡

的物品的時候,你是否會想到你的朋友給你的信件,你的信用卡帳號變成了一個又一個的

信息包在網絡上不停的傳送著,你是否曾經這些信息包會通過網絡流入別人的機器呢?你

的擔憂不是沒有道理的,因為SNIFF可以讓你的擔憂變成實實在在的危險。就好像一個人躲

在你身後偷看一樣。。。。。。  







二 網絡基礎知識  



 「網絡基礎知識」,是不是聽起來有點跑題了?雖然聽起來這和我們要談的SNIFF沒什麼

關係,可是還是要說一說的,萬丈高樓平地起,如果連地基都沒打好,怎麼蓋樓?!如果你

對網絡還不是十分清楚的話,最好能靜下心來好好看看,要知道,這是基礎的基礎,在這裡

我只是簡單的說一下,免得到時候有人迷糊,詳細的最好能夠自己去找書看看。  





(1)TCP/IP體系結構  



  開放系統互連(OSI)模型將網絡劃分為七層模型,分別用以在各層上實現不同的功能,

這七層分別為:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層及物理層。而TCP/IP

體系也同樣遵循這七層標準,只不過在某些OSI功能上進行了壓縮,將表示層及會話層合併入

應用層中,所以實際上我們打交道的TCP/IP僅僅有5層而已,網絡上的分層結構決定了在各層

上的協議分佈及功能實現,從而決定了各層上網絡設備的使用。實際上很多成功的系統都是基

於OSI模型的,如:如幀中繼、ATM、ISDN等。  



   TCP/IP的網絡體系結構(部分)  





-----------------------------------    

| SMTP | DNS | HTTP | FTP | TELNET| 應用層  

-----------------------------------    

|    TCP    |   UDP      |  傳輸層  

-----------------------------------    

|  IP  |   ICMP   | ARP RARP | 網絡層   

------------------------    

| IEEE 802 以太網 SLIP/PPP PDN etc| 數據鏈路層  

-----------------------------------    

|    網卡 電纜 雙絞線 etc    | 物理層  

-----------------------------------    







  從上面的圖中我們可以看出,第一層物理層和第二層數據鏈路層是TCP/IP的基礎,而

TCP/IP本身並不十分關心低層,因為處在數據鏈路層的網絡設備驅動程序將上層的協議和

實際的物理接口隔離開來。網絡設備驅動程序位於介質訪問子層(MAC)。                         



(2)網絡上的設備                              



中繼器:中繼器的主要功能是終結一個網段的信號並在另一個網段再生該信號,一句話,

就是簡單的放大而已,工作在物理層上。        



網 橋:網橋使用MAC物理地址實現中繼功能,可以用來分隔網段或連接部分異種網絡,工

作在數據鏈路層。  



路由器:路由器使用網絡層地址(IP,X.121,E.164等),主要負責數據包的路由尋徑,也能

處理物理層和數據鏈路層上的工作。  



網 關:主要工作在網絡第四層以上,主要實現收斂功能及協議轉換,不過很多時候網關都

被用來描述任何網絡互連設備。  



(3)TCP/IP與以太網  



  以太網和TCP/IP可以說是相互相成的,可以說兩者的關係幾乎是密不可分,以太網在

一二層提供物理上的連線,而TCP/IP工作在上層,使用32位的IP地址,以太網則使用48位

的MAC地址,兩者間使用ARP和RARP協議進行相互轉換。從我們上面TCP/IP的模型圖中可以

清楚的看到兩者的關係。  



  載波監聽/衝突檢測(CSMA/CD)技術被普遍的使用在以太網中,所謂載波監聽是指在以

太網中的每個站點都具有同等的權利,在傳輸自己的數據時,首先監聽信道是否空閒,如

果空閒,就傳輸自己的數據,如果信道被佔用,就等待信道空閒。而衝突檢測則是為了防

止發生兩個站點同時監測到網絡沒有被使用時而產生衝突。以太網採用廣播機制,所有與

網絡連接的工作站都可以看到網絡上傳遞的數據。  



  為了加深你的理解,我們來看看下面的圖,一個典型的在以太網中客戶與服務器使用

TCP/IP協議的通信。  



    

用戶進程 FTP客戶 <-------------------------> FTP服務器  應用層  

  |   |    

內核中的協議棧 TCP <-------------------------> TCP  傳輸層  

  |   |    

內核中的協議棧 IP <-------------------------> IP  網絡層  

  |   |    

  以太網驅動程序 <-------------------------> 以太網驅動程序  數據鏈路層  

            

  ──────-------------------------------     

  以太網    



   



   ??唆唆了這麼多,有人煩了吧?相信我,這是基礎的基礎,可以說是說得是很簡單拉,

如果需要,拿出個幾十萬字來說上面的內容,我想也不嫌多,好了,讓我們進入下一節,

sniff的原理。  







三 SNIFF的原理  



 要知道在以太網中,所有的通訊都是廣播的,也就是說通常在同一個網段的所有網絡接

口都可以訪問在物理媒體上傳輸的所有數據,而每一個網絡接口都有一個唯一的硬件地址,

這個硬件地址也就是網卡的MAC地址,大多數系統使用48比特的地址,這個地址用來表示網

絡中的每一個設備,一般來說每一塊網卡上的MFC地址都是不同的,每個網卡廠家得到一段

地址,然後用這段地址分配給其生產的每個網卡一個地址。在硬件地址和IP地址間使用ARP

和RARP協議進行相互轉換。  



  在正常的情況下,一個網絡接口應該只響應這樣的兩種數據幀:  



   1.與自己硬件地址相匹配的數據幀。                                                       2.發向所有機器的廣播數據幀。   



 在一個實際的系統中,數據的收發是由網卡來完成的,網卡接收到傳輸來的數據,網卡

內的單片程序接收數據幀的目的MAC地址,根據計算機上的網卡驅動程序設置的接收模式判

斷該不該接收,認為該接收就接收後產生中斷信號通知CPU,認為不該接收就丟掉不管,所

以不該接收的數據網卡就截斷了,計算機根本就不知道。CPU得到中斷信號產生中斷,操作

系統就根據網卡的驅動程序設置的網卡中斷程序地址調用驅動程序接收數據,驅動程序接收

數據後放入信號堆棧讓操作系統處理。而對於網卡來說一般有四種接收模式:  



   廣播方式:該模式下的網卡能夠接收網絡中的廣播信息。                                            組播方式:設置在該模式下的網卡能夠接收組播數據。                                             直接方式:在這種模式下,只有目的網卡才能接收該數據。                                          混雜模式:在這種模式下的網卡能夠接收一切通過它的數據,而不管該數據是否是傳給它的。  



 好了,現在我們總結一下,首先,我們知道了在以太網中是基於廣播方式傳送數據的,也

就是說,所有的物理信號都要經過我的機器,再次,網卡可以置於一種模式叫混雜模式

(promiscuous),在這種模式下工作的網卡能夠接收到一切通過它的數據,而不管實際上數

據的目的地址是不是他。這實際上就是我們SNIFF工作的基本原理:讓網卡接收一切他所能接

收的數據。  



(圖一)  











 我們來看一個簡單的例子,如圖一所示,機器A、B、C與集線器HUB相連接,集線器HUB通

過路由器Router訪問外部網絡。這是一個很簡單也很常見的情況,比如說在公司大樓裡,我

所在的網絡部辦公室裡的幾台機器通過集線器連接,而網絡部、開發部、市場部也是同樣如

此,幾個部門的集線器通過路由器連接。還是回到我們的圖一上來,值得注意的一點是機器

A、B、C使用一個普通的HUB連接的,不是用SWITCH,也不是用ROUTER,使用SWITCH和ROUTER

的情況要比這複雜得多。  



 我們假設一下機器A上的管理員為了維護機器C,使用了一個FTP命令向機器C進行遠程登陸,

那麼在這個用HUB連接的網絡裡數據走向過程是這樣的。首先機器A上的管理員輸入的登陸機

器C的FTP口令經過應用層FTP協議、傳輸層TCP協議、網絡層IP協議、數據鏈路層上的以太網

驅動程序一層一層的包裹,最後送到了物理層,我們的網線上。接下來數據幀送到了HUB上,

現在由HUB向每一個接點廣播由機器A發出的數據幀,機器B接收到由HUB廣播發出的數據幀,

並檢查在數據幀中的地址是否和自己的地址相匹配,發現不是發向自己的後把這數據幀丟棄,

不予理睬。而機器C也接收到了數據幀,並在比較之後發現是發現自己的,接下來他就對這數

據幀進行分析處理。  



 在上面這個簡單的例子中,機器B上的管理員如果很好奇,他很想知道究竟登陸機器C上FTP

口令是什麼?那麼他要做的很簡單,僅僅需要把自己機器上的網卡置於混雜模式,並對接收到

的數據幀進行分析,從而找到包含在數據幀中的口令信息。  







四 做一個自己的sniff  



 在上一節裡,我們已經知道了SNIFF的基本原理是怎麼一回事,這一節我們來親自動手做一個

自己的sniff,畢竟,用程序代碼來說話比什麼都要來得真實,也容易加深理解。  



  回頭想一想我們上面說的原理,我們要做的事情有幾件:  



   1. 把網卡置於混雜模式。                                                             2. 捕獲數據包。                                                                  3. 分析數據包。  



註:下面的源代碼取至Chad Renfro的<< Basic Packet-Sniffer Construction from the Ground Up>>

一文中  

/************************Tcp_sniff_2.c********************/  

1.#include    

2.#include    

3.#include  

4.#include  

5.#include  

6.#include  

7.#include    

8.#include  

9.#include "headers.h"  

    

#define INTERFACE "eth0"  

    

 /*Prototype area*/  

    

10.int Open_Raw_Socket(void);   

11.int Set_Promisc(char *interface, int sock);   

12.int main() {    

13.int sock, bytes_recieved, fromlen;    

14.char buffer[65535];  

15.struct sockaddr_in from;   

16.struct ip *ip;  

17.struct tcp *tcp;    

18.sock = Open_Raw_Socket();  

19. Set_Promisc(INTERFACE, sock);  

    

20. while(1)  

22. {  

23. fromlen = sizeof from;  

24. bytes_recieved = recvfrom(sock, buffer, sizeof buffer, 0, (struct sockaddr *)&from, &fromlen);  

25. printf("\nBytes received ::: %5d\n",bytes_recieved);  

26. printf("Source address ::: %s\n",inet_ntoa(from.sin_addr));  

27. ip = (struct ip *)buffer;  

/*See if this is a TCP packet*/  

28. if(ip->ip_protocol == 6) {  

29. printf("IP header length ::: %d\n",ip->ip_length);  

30. printf("Protocol ::: %d\n",ip->ip_protocol);  

31. tcp = (struct tcp *)(buffer + (4*ip->ip_length));  

32. printf("Source port ::: %d\n",ntohs(tcp->tcp_source_port));  

33. printf("Dest port ::: %d\n",ntohs(tcp->tcp_dest_port));  

34. }  

    

35. }  

36.}  

37.int Open_Raw_Socket() {      

38. int sock;  

39. if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { 

/*Then the socket was not created properly and must die*/ 

40. perror("The raw socket was not created"); 

41. exit(0); 

42. };   

43. return(sock);   

44. } 



45.int Set_Promisc(char *interface, int sock ) {   

46. struct ifreq ifr;       

47. strncpy(ifr.ifr_name, interface,strnlen(interface)+1); 

48. if((ioctl(sock, SIOCGIFFLAGS, &ifr) == -1)) {   

/*Could not retrieve flags for the interface*/ 

49. perror("Could not retrive flags for the interface"); 

50. exit(0); 

51. }  

52. printf("The interface is ::: %s\n", interface);   

53. perror("Retrieved flags from interface successfully"); 

54. ifr.ifr_flags |= IFF_PROMISC;   

55. if (ioctl (sock, SIOCSIFFLAGS, &ifr) == -1 ) {   

/*Could not set the flags on the interface */   

56. perror("Could not set the PROMISC flag:"); 

57. exit(0);     

58. } 

59. printf("Setting interface ::: %s ::: to promisc", interface); 

60. return(0); 

61. } 



/***********************EOF**********************************/ 



   



  上面這段程序中有很詳細的註解,不過我想還是有必要說一說,首先

第10行--int Open_Raw_Socket(void); 是我們的自定義函數,具體內容如下: 





37.int Open_Raw_Socket() {     

38. int sock; 

39. if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { 

/*Then the socket was not created properly and must die*/ 

40. perror("The raw socket was not created"); 

41. exit(0); 

42. };   

43. return(sock);   

44. } 





                



第39行 if((sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP)) < 0) { 



這裡我們調用了socket函數,使創建了了一個原始套接口,使之收到TCP/IP信息包。 



  接下來第11行-int Set_Promisc(char *interface, int sock),這也是我們的自定義函數,

目的是把網卡置於混雜模式,具體內容如下: 

45.int Set_Promisc(char *interface, int sock ) {   

46. struct ifreq ifr;       

47. strncpy(ifr.ifr_name, interface,strnlen(interface)+1); 

48. if((ioctl(sock, SIOCGIFFLAGS, &ifr) == -1)) {   

/*Could not retrieve flags for the interface*/ 

49. perror("Could not retrive flags for the interface"); 

50. exit(0); 

51. }  

52. printf("The interface is ::: %s\n", interface);   

53. perror("Retrieved flags from interface successfully"); 

54. ifr.ifr_flags |= IFF_PROMISC;   

55. if (ioctl (sock, SIOCSIFFLAGS, &ifr) == -1 ) {   

/*Could not set the flags on the interface */   

56. perror("Could not set the PROMISC flag:"); 

57. exit(0);     

58. } 

59. printf("Setting interface ::: %s ::: to promisc", interface); 

60. return(0); 

61. } 



  首先 struct ifreq ifr; 定一了一個ifrreg的結構ifr,接下來

 strncpy(ifr.ifr_name, interface,strnlen(interface)+1);,就是把我們網絡設備的名字填

 充到ifr結構中,在這裡 #define INTERFACE "eth0" ,讓我們再往下看,

 ioctl(sock, SIOCGIFFLAGS, &ifr),SIOCGIFFLAGS請求表示需要獲取接口標誌,現在到了

 第54行,在我們成功的獲取接口標誌後把他設置成混雜模式,

 ifr.ifr_flags |= IFF_PROMISC;ioctl (sock, SIOCSIFFLAGS, &ifr)。OK,現在我們所說的

 第一步已經完成--------把網卡置於混雜模式。 



  現在進入第二步,捕獲數據包。從第20行開始,我們進入了一個死循環,while(1),在

第24行,recvfrom(sock, buffer, sizeof buffer, 0, (struct sockaddr *)&from, &fromlen),

這個函數要做的就是接收數據,冰把接收到的數據放入buffer中。就是這麼簡單,已經完成了我

們要捕獲數據包的任務。 



  到了第三步,分析數據包。27行,ip = (struct ip *)buffer,使我們在頭文件中的IP結

構對應於所接收到的數據,接下來判斷在網絡層中是否使用的是TCP協議,

if(ip->ip_protocol == 6) ,如果答案是,tcp信息包從整個IP/TCP包 buffer + (4*ip->ip_length)

 地址處開始,所以31行 tcp = (struct tcp *)(buffer + (4*ip->ip_length)),然後對應

 結構把你所需要的信息輸出。  

/*************************headers.h**************************/  

/*structure of an ip header*/   

struct ip {     

unsigned int ip_length:4; /*little-endian*/   

unsigned int ip_version:4;  

unsigned char ip_tos;   

unsigned short ip_total_length;    

unsigned short ip_id;    

unsigned short ip_flags;  

unsigned char ip_ttl;  

unsigned char ip_protocol;  

unsigned short ip_cksum;  

unsigned int ip_source; unsigned int ip_dest;    

};  

    

/* Structure of a TCP header */  

struct tcp {  

unsigned short tcp_source_port;  

unsigned short tcp_dest_port;  

unsigned int tcp_seqno;    

unsigned int tcp_ackno;  

unsigned int tcp_res1:4, /*little-endian*/  

tcp_hlen:4,  

tcp_fin:1,  

tcp_syn:1,  

tcp_rst:1,  

tcp_psh:1,  

tcp_ack:1,  

tcp_urg:1,  

tcp_res2:2;  

unsigned short tcp_winsize;  

unsigned short tcp_cksum;  

unsigned short tcp_urgent;  

};  

/*********************EOF***********************************/  







 從上面的分析我們可以清楚的認識到,認識一個SNIFF需要對TCP/IP協議有著詳細的瞭解,

否則你根本無法找到你需要的信息。有了上面的基礎,你可以自己來做一個你需要的SNIFF了。 





五 常用的SNIFF  



 很少有原因會讓你自己親自動手來做一個自己的SNIFF,除非你是想瞭解他的原理,或者是

其他一些特別的原因,比如你要在某個特殊的環境攔截一些特殊的數據包。下面我們就來看

看一些在網絡上經常使用的SNIFF。  



(1)windows環境下  



  windows環境下當然是大名鼎鼎的netxray以及sniffer pro了,實際上很多人都是用他在

windows環境下抓包來分析,不過我想很少有人笨到去在別人的機器上安裝一個圖形界面的SNIFF,

除非他和管理員很熟悉........ netxray的使用就不多說了,反正windows下的東西就是

click,click,click,非常的方便用戶。  



(2)UNUX環境下  



  UNUX環境下的sniff可以說是百花齊放,一抓就是一大把,如sniffit,snoop,tcpdump,dsniff

等都是比較常見的,他們都有一個好處就是發佈源代碼,可以讓你研究,當然也都是免費的:)  



1. sniffit  



  sniffit可以運行在Solaris、SGI和Linux等平台上,由Lawrence Berkeley Laboratory 實驗

室開發的一個免費的網絡監聽軟件。最近Sniffit 0.3.7也推出了NT版本,並也支持WINDOWS2000.  



使用方法:  

-v 顯示版本信息  

-a 以ASCII形式將監聽的結果輸出。  

-A 在進行記錄時,所有不可打印的字符都用代替  

-b 等同於同時使用參數-t & -s。      

-d 將監聽所得內容以十六進制方式顯示在當前終端   

-p 記錄連接到的包,0為所有端口。缺省為0。     

-P protocol 選擇要檢查的協議,缺省為TCP。可能的選擇有IP、TCP、ICMP、UDP和他們的組合。  

-s 指定sniffer 檢查從 發送的數據包。 -t 指定sniffer 檢查發送到的數據包。  

-i 進入交互模式     

-l 設定數據包大小,default是300字節     

註:參數可以用@來表示一個IP範圍,比如 -t 192.168.@ -t和-s 只適用於TCP/UDP數據包,對

於ICMP和IP也進行解釋。但如果只選擇了-p參數,則只用於TCP和UDP包。  



舉例說明:  



#sniffit -a -p 21 -t xxx.xxx.xxx.xxx  



監聽流向機器xxx.xxx.xxx.xxx的21端口(FTP)的信息,並以ASCII顯示  



#sniffit -d -p 23 -b xxx.xxx.xxx.xxx  



監聽所有流出或流入機器xxx.xxx.xxx.xxx的23端口(telnet)的信息,並以16進制顯示  



你可以在這裡找到sniffit http://reptile.rug.ac.be/~coder/sniffit/sniffit.html  



2. snoop  



  snoop默認情況安裝在Solaris下,是一個用於顯示網絡交通的程序,不過SNIFF是把雙刃劍,

既然管理員能用他來監視自己的網絡,當然一個心懷惡意的入侵者也可以用他來SNIFF自己感興

趣的內容。值得一提的是, SNOOP被發現存在一個緩衝區溢出漏洞,當以導致入侵者以運行

snoop(通常為root)的身份遠程進入系統。這是題外話,暫且就此打住。  



使用方法:  

[ -a ] # Listen to packets on audio  

[ -d device ] # settable to le?, ie?, bf?, tr?  

[ -s snaplen ] # Truncate packets  

[ -c count ] # Quit after count packets  

[ -P ] # Turn OFF promiscuous mode  

[ -D ] # Report dropped packets  

[ -S ] # Report packet size  

[ -i file ] # Read previously captured packets  

[ -o file ] # Capture packets in file  

[ -n file ] # Load addr-to-name table from file  

[ -N ] # Create addr-to-name table  

[ -t r|a|d ] # Time: Relative, Absolute or Delta  

[ -v ] # Verbose packet display  

[ -V ] # Show all summary lines  

[ -p first[,last] ] # Select packet(s) to display  

[ -x offset[,length] ] # Hex dump from offset for length  

[ -C ] # Print packet filter code  

    



例如:  



#snoop -o saved A B  



監聽機器A與B的談話,並把內容存儲於文件saved中  







3. tcpdump  



  tcpdmp也算是一個很有名氣的網絡監聽軟件,FREEBSD還把他附帶在了系統上,是一個被

很多UNIX高手認為是一個專業的網絡管理工具。  



使用方法:  

  tcpdump採用命令行方式,它的命令格式為:  

tcpdump [ -adeflnNOpqStvx ][ -c 數量 ][ -F 文件名 ][ -i 網絡接口 ][ -r 文件名]

[ -s snaplen ][ -T 類型 ][ -w 文件名 ][表達式 ]  

1. tcpdump的選項介紹  

-a    將網絡地址和廣播地址轉變成名字;  

-d    將匹配信息包的代碼以人們能夠理解的彙編格式給出;  

-dd    將匹配信息包的代碼以c語言程序段的格式給出;  

-ddd   將匹配信息包的代碼以十進制的形式給出;  

-e    在輸出行打印出數據鏈路層的頭部信息;  

-f    將外部的Internet地址以數字的形式打印出來;  

-l    使標準輸出變為緩衝行形式;  

-n    不把網絡地址轉換成名字;  

-t    在輸出的每一行不打印時間戳;  

-v    輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;  

-vv    輸出詳細的報文信息;  

-c    在收到指定的包的數目後,tcpdump就會停止;  

-F    從指定的文件中讀取表達式,忽略其它的表達式;  

-i    指定監聽的網絡接口;  

-r    從指定的文件中讀取包(這些包一般通過-w選項產生);  

-w    直接將包寫入文件中,並不分析和打印出來;  

-T    將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc和snmp  



2. tcpdump的表達式介紹  



 表達式是一個正則表達式,tcpdump利用它作為過濾報文的條件,如果一個報文滿足表達式

的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網絡上所有的信息包將會被截獲。  



 在表達式中一般如下幾種類型的關鍵字,一種是關於類型的關鍵字,主要包括host,net,

port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主機,net 202.0.0.0 指明 202.0.0.0

是一個網絡地址,port 23 指明端口號是23。如果沒有指定類型,缺省的類型是host.     



  第二種是確定傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst and src ,這些關

鍵字指明了 傳輸的方向。舉例說明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , 

dst net 202.0.0.0 指明目的網絡地址是202.0.0.0 。如果沒有指明方向關鍵字,則缺省是

src or dst關鍵字。      



  第三種是協議的關鍵字,主要包括fddi,ip ,arp,rarp,tcp,udp等類型。Fddi指明是在

FDDI(分佈式光纖數據接口網絡)上的特定的網絡協議,實際上它是"ether"的別名,fddi和ether

具有類似的源地址和目的地址,所以可以將fddi協議包當作ether的包進行處理和分析。其他的

幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有

協議的信息包。     



  除了這三種類型的關鍵字之外,其他重要的關鍵字如下:

gateway, broadcast,less,greater,還有三種 邏輯運算,取非運算是 'not ' '! ', 與運算

是'and','&&';或運算 是'or' ,'||'。  







舉例使用:  



#tcpdump host AAA.BBB.CCC.DDD  



將監聽IP地址為AAA.BBB.CCC.DDD的機器的通話  



#tcpdump tcp port 23 host AAA.BBB.CCC.DDD  



將監聽IP地址為AAA.BBB.CCC.DDD的機器的23端口的通話  







4. dsniff  



 之所以要談談dsniff,是因為他不僅僅是一個sniff,在他的整個套件包中,包含了很多

其它有用的工具,如arpspoof,dnsspoof,macof,tcpkill等等,SNIFF的手段更加的多樣和

複雜化。dsniff是由DugSong開發的你可以在他的主頁上找到這個工具。 目前dsniff支持

OpenBSD (i386), Redhat Linux (i386), 和Solaris (sparc). 並且在FreeBSD, Debian Linux,

 Slackware Linux, AIX, 和HP-UX上也能運轉得很好。但是dsniff需要幾個其他的第三方軟件進

 行支持,他們分別是,Berkeley DB ,OpenSSL, libpcap, libnet, libnids。如果條件允

 許的話,你最好能夠親自讀一讀dsniff的源代碼,你可以在 

 http://naughty.monkey.org/~dugsong/ 找到dsniff。  





六 深入sniff  



 單純的sniff的功能始終是局限的,所以在大多數的情況下,sniff往往和其他手段結合起來使

用,sniff和spoof已及其他技術手段結合在一起對網絡構成的危害是巨大的。單純的sniff好比缺

了一隻腿,無法發揮大的作用,例如在sniff原理一節中我們討論的例子裡,我一再的強調我們使

用的是一個普通的HUB進行連接是有原因的,如果我們把在圖一中的HUB用一個switch代替,那情況

就要複雜一些了,如圖二所示:  



圖(二)  











 在圖二中,我們的機器A、B、C與Switch相連接,而Switch通過路由器Router訪問外部網絡。我

們先來瞭解Switch的工作原理:  



  在我們圖一中的 HUB 只是簡單地把所接收到的信號通過所有端口(除了信號來的那個口)重複

發送出去不同,而圖二中的Switch卻可以檢查每一個收到的數據包,並對數據包進行相應的處理。

在Switch內保存著每一個網段上所有節點的物理地址,只允許必要的網絡流量通過Switch。舉例來

說,當Switch接收到一個數據包之後,根據自身保存的網絡地址表檢查數據包內包含的發送和接收

方地址。如果接收方位於發送方網段,該數據包就會被Switch丟棄,不能通過交換機傳送到其它的

網段;如果接收方和發送方位於兩個不同的網段,該數據包就會被Switch轉發到目標網段。這樣,

通過交換機的過濾和轉發,可以有效避免網絡廣播風暴,減少誤包和錯包的出現。順便說一句,現在

Switch和HUB的價格相去無幾,所以hub正逐漸被網絡交換機取代。  



 現在回到我們的例子中來,在圖二中仍然和圖一一樣,我們假設機器A上的管理員為了維護機器C,

使用了一個FTP命令向機器C進行遠程登陸,那麼在這裡,數據是這樣走的:首先機器A上的管理員輸入

的登陸機器C的FTP口令經過應用層FTP協議、傳輸層TCP協議、網絡層IP協議、數據鏈路層上的以太網

驅動程序一層一層的包裹,最後送到了物理層,我們的網線上。接下來數據幀送到了Switch上,而

Switch檢查數據幀中的目的地址,並在他自身保存的網絡地址表中知道了他應該把這數據幀發到機器

C那裡,於是,接下來機器C接收到了從A發來的信息,發現他是發給自己的信息,於是進行分析處理。  



  OK,現在我們機器B上的管理員的好奇心只能深深的埋藏在心裡了,因為數據包根本就沒有經過他,

就算他把自己的網卡設置成混雜模式也是有力無處使。  



 在瞭解在一個Switch環境下原理後,我們結合一些手段去設法sniff,是的,我們可以做到這一點,

有許多的手段可以讓管理員B滿足他的好奇心,在下面我會提出幾個辦法,當然只是其中的一些辦法

而已。  



1 ARP Spoof  



  在基於IP通信的內部網中,我們可以使用 ARP Spoof 的手段,瞭解什麼是ARP Spoof的前提你先

要明白一下什麼是ARP和RARP協議,什麼是MAC地址,什麼又是IP地址。ARP協議是地址轉換協議,

RARP被稱為反向地址轉換協議,他們負責把IP地址和MAC地址進行相互轉換對應。  



  ARP Spoof 攻擊的根本原理是因為計算機中維護著一個 ARP 高速緩存,並且這個ARP 高速緩存是

隨著計算機不斷的發出ARP請求和收到ARP響應而不斷的更新的,ARP 高速緩存的目的是把機器的IP地

址和MAC地址相互映射。你可以使用 arp 命令來查看你自己的 ARP 高速緩存。現在設想一下,一個

Switch工作在數據鏈路層,他根據MAC地址來轉發他所接收的數據包,而計算器維護的 ARP 高速緩存

卻是動態的......你想到什麼了嗎?  



  為了加深理解,現在給我們的機器編上號,機器A:IP地址為 10.0.0.1 ,MAC地址為

 20-53-52-43-00-01 ,機器B:IP地址為 10.0.0.2 ,MAC地址為 20-53-52-43-00-02,機器C:IP地址

 為 10.0.0.3 ,MAC地址為 20-53-52-43-00-03 。現在機器B上的管理員是個聰明的傢伙,他向機器

 A發出一個 ARP Reply (協議沒有規定一定要等ARP Request出現才 能發送ARP Reply,也沒有

 規定一定要發送過ARP Request才能接收ARP Reply),其中的目的IP地址為10.0.0.1,目的MAC

 地址為 20-53-52-43-00-01 ,而源IP地址為10.0.0.3,源MAC地址為 20-53-52-43-00-02 ,好了,

 現在機器A更新了他的 ARP 高速緩存,並相信了IP地址為10.0.0.3的機器的MAC地址是 

 20-53-52-43-00-02 。當機器A上的管理員發出一條FTP命令時---ftp 10.0.0.3,數據包被送到了

 Switch,Switch查看數據包中的目的地址,發現MAC為 20-53-52-43-00-02 ,於是,他把數據包

 發到了機器B上。再設想一下,如果不想影響A和C之間的通信該怎麼辦?你可以同時欺騙他們雙方,

 來一個 man-in-middle 。  



 當然,在實際的操作中你還需要考慮到一些其他的事,比如某些操作系統在會主動的發送ARP請

求包來更新相應的ARP入口等。  



2. MAC Flooding  



 在上面我們曾經提到過,Switch之所以能夠由數據包中目的MAC地址判斷出他應該把數據包發送到

那一個端口上是根據他本身維護的一張地址表。這張地址表可能是動態的也可能是靜態的,這要看

Switch的廠商和Switch的型號來定,對於某些Switch來說,他維護的是一張動態的地址表,並且地

址表的大小是有上限的,比如 3com Superstack Switch 3300 (3c16981 Hardware v.1 Software v.2.10)

 就是這樣一種Switch,我們可以通過發送大量錯誤的地址信息而使SWITCH維護的地址表「溢出」,

從而使他變成廣播模式來達到我們要 sniff 機器A與機器C之間的通信的目的。  



3. Fake the MAC address  



 偽造MAC地址也是一個常用的辦法,不過這要基於你網絡內的Switch是動態更新其地址表,這實

際上和我們上面說到的 ARP Spoof 有些類似,只不過現在你是想要Switch相信你,而不是要機器A

相信你。因為Switch是動態更新其地址表的,你要做的事情就是告訴Switch:HI,我是機器C。換成

技術上的問題你只不過需要向Switch發送偽造過的數據包,其中源MAC地址對應的是機器C的MAC地址,

現在Switch就把機器C和你的端口對應起來了。不過其中存在一個問題,現在機器C也會說了:

HI,Switch老大,我才是機器C呢!,現在你該怎麼辦?切,還用問!讓他說不了話就可以了,

DOS還是其他什麼,隨便你了......  



4. ICMP Router Advertisements  



  這主要是由ICMP路由器發現協議(IRDP)的缺陷引起的,在Windows 95、98、2000及SunOS、

Solaris 2.6等系統中,都使用了IRDP協議,SunOS系統只在某些特定的情況下使用該協議,而

Windows95 ,Windows95b, Windows98, Windows98se, 和 Windows2000都是默認的使用IRDP協議。 

IRDP協議的主要內容就是告訴人們誰是路由器,設想一下,一個HACK利用IRDP宣稱自己是路由器的

情況會有多麼的糟糕!所有相信HACK的請求的機器把他們所有的數據都發送給HACK所控制的機器.........  



5. ICMP Redirect  



 所謂ICMP重定向,就是指告訴機器向另一個不同的路由發送他的數據包,ICMP重定向通常使

用在這樣的場合下,假設A與B兩台機器分別位於同一個物理網段內的兩個邏輯子網內,而A和B都

不知道這一點,只有路由器知道,當A發送給B的數據到達路由器的時候,路由器會向A送一個ICMP

重定向包裹,告訴A:HI,別再送數據給我轉交了,你就直接送到B那裡就可以了。設想一下,

一個hack完全可以利用這一點,使得A發送給B的數據經過他。  



 上面提到的這些方法只不是其中的一些,為了配合sniff能夠工作得更有效率,還有其他許多

的辦法,其實sniff的目的說穿了只有一個,就是抓包,從抓包這個概念上引伸下去,所有為了能

夠抓到網絡上的信息包而採用的技術都可以歸入sniff,單純的sniff是沒有什麼效率的。你還能

想到什麼嗎?進攻路由器,在路由器上放置sniff......,在系統內核中植入sniff......等等。  





七 如何防止SNIFF  



 防止sniff最有效的手段就是進行合理的網絡分段,並在網絡中使用交換機和網橋,在理想的情

況下使每一台機器都擁有自己的網絡段,當然這會使你的網絡建設費用增加很多,所以你可以盡量

使相互信任的機器屬於同一個網段,使他們互相之間不必擔心sniff的存在。並在網段於網段間進

行硬件屏障。你也可以使用加密技術對你在網絡中傳送的敏感數據如戶ID或口令,你的銀行帳號,

商業機密等進行加密,你可以選用SSH等加密手段。為了防止ARP欺騙,你可以使用永久的ARP

緩存條目,反正上面的攻擊手段和原理你也看了,你就反過來想想該怎麼辦好了。不過有盾必有矛,

平時的安全意識才是最重要的。  



 (註:以下關於AntiSniff的介紹取至backend翻譯整理的L0pht AntiSniff 技術文檔一文)  



  當你做做層層保護後,你還是懷疑自己的網絡上存在sniff該怎麼辦? L0pht 小組為了探測

sniff專門發佈了一個軟件 AntiSniff,當然這個軟件不是免費的:),AntiSniff 工具用於檢測局

域網中是否有機器處於混雜模式,AntiSniff Version 1.x被設計為運行在以太網的Windows系統中,

提供了簡單易用的圖形用戶界面,AntiSniff Version 1.x 主要工作在非交換環境下的本地網段中,

如果運行在交換環境下其功能將大打折扣。AntiSniff Ver 2.0 將不但能在本地網段中,而且能夠穿

過路由器和交換機進行工作。  



◆ 操作系統類特殊測試  



Linux 內核測試  



 舊版本的Linux內核存在一個奇怪的特性,可被用於確定機器是否處於混雜模式。在正常情形下,

網卡會過濾和丟棄那些目標地址不是本機MAC地址或以太網廣播地址的數據包。如果數據包的目標地

址為本機以太網地址或廣播地址,將傳送給內核進行處理,因為其認為該以太網數據幀包含了本機

的正確IP地址或該網絡廣播地址。如果網卡處於混雜模式,則每個數據包都會傳遞給操作系統進行

分析或處理。許多版本的 Linux內核只檢查數據包中的IP地址以確定是否存放到IP堆棧中進行處理。

為了利用這一點,AntiSniff構造一個無效以太網地址而IP地址有效的數據包。對於使用了這些內核

版本和處於混雜模式的Linux系統,由於只檢查到IP地址有效而將其接收並存放到相應堆棧中。通過

在這個偽造的以太網數據幀中構造一個ICMP ECHO請求,這些系統會返迴響應包(如果處於混雜模式)

或忽略(如果不處於混雜模式),從而暴露其工作模式。當偽造的以太網數據幀中的IP地址設置為網絡

廣播地址時這個測試非常有效。 AntiSniff的使用者可以修改偽造的以太網址,缺省值為66:66:66:66:66:66。  



NetBSD  



 許多NetBSD內核具有與上述Linux內核相同的特性,不過偽造以太網數據幀中的 IP地址必須設為廣

播地址。  



Windows 95/98/NT  



 根據對網絡驅動程序頭文件的瞭解,可以知道當處於混雜模式時,Microsoft的操作系統會確切地檢

查每個包的以太網地址。如果與網卡的以太網地址匹配,將作為目標IP地址為本機的數據包存放到相應

堆棧中處理。可以被利用的一點是系統對以太網廣播包的分析。在正常情形下,例如機器工作在非混

雜模式下,網卡只向系統內核傳輸那些目標以太網址與其匹配或為以太網廣播地址(ff:ff:ff:ff:ff:ff)

的數據包。如果機器處於混雜模式下,網絡驅動程序仍然會檢查每個數據包的以太網地址,但檢查是否

為廣播包時卻只檢查頭8位地址是否為0xff。因此,為了使處於混雜模式的系統返迴響應信息,

AntiSniff構造以太網地址為ff:00:00:00:00:00且含有正確目標IP 地址的數據包,當Microsoft的操

作系統接收到這個數據包時,將根據網絡驅動程序檢查到的細微差別而返迴響應包(如果處於混雜模式)

或丟棄這個數據包(如果處於非混雜模式)。  



 需要注意的是,這個檢查與使用的網絡驅動程序有關。Microsoft缺省的網絡驅動程序具有以上特性,

大多數的廠商為了保持兼容性也繼承了這些特性。不過有些網卡會在其硬件層中檢查以太網地址的頭8位,

所以可能會無論系統真正的狀態是什麼都總是返回正值。關於這類網卡和驅動程序請訪問

AntiSniff Ver 1.x的web網站。  



◆ DNS 測試  



 進行DNS測試的原因是許多攻擊者使用的網絡數據收集工具都對IP地址進行反向 DNS解析,因為他們

希望根據域名尋找更有價值的主機。例如joepc1.foo.bar對攻擊者的吸引力往往不如payroll.foo.bar

這種商業域名。此時這些工具就由被動型網絡工具變為主動型網絡工具了。而不監聽網絡通訊的機器

不會試圖反向解析數據包中的 IP地址。為了利用這一點,AntiSniff Ver 1.x使自身處於混雜模式下,

向網絡發送虛假目標IP地址的數據包,然後監聽是否有機器發送該虛假目標IP地址的反向DNS查詢。

偽造數據包的以太網地址、檢查目標、虛假目標IP地址可由用戶定制。  



◆ 網絡和主機響應時間測試  



 這種測試已被證明是最有效的。它能夠發現網絡中處於混雜模式的機器,而不管其操作系統是什麼。

警告,這個測試會在很短的時間內產生巨大的網絡通訊流量。進行這種測試的理由是不處於混雜模式

的網卡提供了一定的硬件底層過濾機制。也就是說,目標地址非本地(廣播地址除外)的數據包將被網卡

的固件丟棄。在這種情況下,驟然增加、但目標地址不是本地的網絡通訊流量對操作系統的影響只會

很小。而處於混雜模式下的機器則缺乏此類底層的過濾,驟然增加、但目標地址不是本地的網絡通訊

流量會對該機器造成較明顯的影響(不同的操作系統/內核/用戶方式會有不同)。這些變化可以通過網

絡通訊流量工具監視到。  





  根據以上要點,AntiSniff Ver 1.x 首先利用ICMP ECHO請求及響應計算出需要檢測機器的響應時間

基準和平均值。在得到這個數據後,立刻向本地網絡發送大量的偽造數據包。與此同時再次發送測試

數據包以確定平均響應時間的變化值。非混雜模式的機器的響應時間變化量會很小,而混雜模式的機

器的響應時間變化量則通常會有 1-4個數量級。為了對付攻擊者和入侵者們最常用的多種工具,

AntiSniff進行了三種網絡飽和度測試:SIXTYSIX、TCPSYN和THREEWAY。  



     * SIXTYSIX測試構造的數據包數據全為0x66。這些數據包不會被非混雜模式的機器接收,同時

方便使用常見的網絡監聽/分析工具(如tcpdump和snoop等)記錄和捕獲。  



     * TCPSYN測試構造的數據包包含有效的TCP頭和IP頭,同時TCP標誌域的SYN位被設置。  



    * THREEWAY測試採取的原理基本上與TCPSYN一樣,但更複雜些。在這種測試中兩個實際不存在

的機器間多次建立完整的TCP三方握手通訊。它能夠更好地欺騙那些駭客工具。  



 &nbs

2006年11月15日 星期三

等價交換


發信人: peicheng.bbs@bbs.cs.nctu.edu.tw (昔我往矣) 看板: P_peicheng

標 題: 等價交換

發信站: 次世代BS2 (11/16/06 00:45:36 Thu)



人不作出犧牲,便得不到任何收穫;如果要得到某種東西,就必須付出同等代價。這一點

,就是鍊金術的基本原則 ── 等價交換。當時我們深信這一點就是世界的真理。

阿爾風斯•愛力克,《鋼之鍊金術師》開場白



--

▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>

█▄▄▄▄█ █ ▄▄▄▄▄█ Player: peicheng

▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: 140.128.194.78

☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB


2006年11月8日 星期三

兩年輕學子扮駭客入侵主機 警方追查法辦


兩年輕學子扮駭客入侵主機 警方追查法辦

中央社



 


     某大學剛畢業與還在高中就讀的年輕駭客「bf」與「IK」涉,嫌使用特定程式漏洞和跨站式網頁攻擊XSS等手法,入侵數十台電腦網路主機,到目前為止,已經有三、四十個單位受害,損失金額高達上億元。刑事警察局偵九隊三組上網追查傳喚兩人到案後,全案將在近期函送檢方偵辦。


     警方近期監控國內網路駭客活動時,發現位於台中縣的陳姓大學生(二十一歲)以「 bf 」的化名,自去年底迄今透過駭客網站站長「 IK 」提供位於南投縣的專屬代理伺服器,入侵國內企業、學校一共三、四十個單位的數十台電腦網路主機


 

     這些駭客攻擊手法,包括固定利用特定程式漏洞,或是例如「跨站式網頁攻擊 XSS 」、「 Cookie 欺騙」、「 SQL 資訊隱碼」等攻擊手法。

 


     警方掌握電腦檔案及相關稽核紀錄後,逮捕陳姓大學生,而他在接受警方訊問期間,少年「 IK 」(十七歲)也密集電話聯繫,瞭解警方偵辦進度,警方因此一併傳喚他到案。


     對於兩嫌的關係,警方指出,少年「 IK 」是這個駭客網站的站長,至於「 bf 」只是其中一個管理員兼程式組組長。「 IK 」負責對外接洽生意,如果有人需要程式或網站設計時,再委由「 bf 」撰寫,而修改一個程式的行情價,大約是新台幣二、三千元;撰寫一個程式則要一萬元。


     九隊三組表示,由於駭客攻擊時間長達近一年,受害主機十分眾多,且外流的遭竊檔案已在駭客圈流傳,受害單位的損失估算近億元,相關涉案情節警方正進一步清查中,全案將在近日內函送台北地檢署偵辦。





http://news.chinatimes.com/Chinatimes/newslist/newslist-content/0,3546,110105+112006110901270,00.html




印星星1


作者: peicheng () 看板: P_peicheng

標題: 印星星1

時間: Wed Nov 8 18:47:46 2006



public class Java {

public static void main(String[] args) {

for (int i = 0; i < 10; i++) {

System.out.println();

for (int j = 0; j < i + 1; j++) {

System.out.print("*");

}

}



}

}









*

**

***

****

*****

******

*******

********

*********

**********

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆 PC-ROOM.csie.thu.edu.tw海

peicheng 在 06/11/08 18:48:09 從 140.128.102.199 修改這篇文章


2006年11月7日 星期二

我不要當黑人


發信人: peicheng.bbs@bbs.cs.nctu.edu.tw (昔我往矣) 看板: P_peicheng

標 題: 我不要當黑人

發信站: 次世代BS2 (11/07/06 23:29:11 Tue)



我不要當黑人







一個網頁設計師怎麼可以任由許多人的帳號資料

任人瀏覽

OuTian的文章裡說的很對

的確

資訊安全是很重要的一塊

如果

設計師只是設計程式

而沒有注意到資訊安全

那...

我們的隱私將多沒有保障





--

▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>

█▄▄▄▄█ █ ▄▄▄▄▄█ Player: peicheng

▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: 140.128.194.78

☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB

2006年11月3日 星期五

鼎王大食團


今天,跟學長去鼎王吃麻辣鍋。學長還滿推薦鼎王的,常常開鼎王大食團。









目的是,慰勞卸任站務。

鼎王的鍋底,真是不錯吃。光是加的鴨血,就滿好吃的。

12人,長輩O大總共花了4864





2006年10月26日 星期四

Doing something...


作者: peicheng () 看板: P_peicheng

標題: Doing something...

時間: Thu Oct 26 09:53:33 2006



Doing something that you enjoy doing.



Doing something that you will look forward to.

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


2006年10月23日 星期一

大學


好的大學之所以好,是因為它有悠久長遠的聲譽,它一定有相當多大師級的教授,在各個領域都有,而且歷久不衰。



李家同







來讀大學後,這樣的感覺越來越深。而我會在後面加一句,還有許多同學。當然,在弱者眼裡,你是強者,但是在強者眼裡,你卻是弱者。

2006年10月21日 星期六

關於 有名大站 BBS看板備份


作者: peicheng () 看板: P_peicheng

標題: 關於 有名大站 BBS看板備份

時間: Sun Oct 22 01:04:09 2006



由於有名大站硬體問題

搞的人心惶惶

提供了BBS看板外的其他備份服務

http://backup.hasname.com/



系上的長輩OuTian寫了隻看板備份程式

http://willh.org/~outian/

(暫時位置)



BS2上SYSOP都出現有人要把無名的個人版匯入的文章



--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


2006年10月15日 星期日

我是世界的光;跟從我的,會得著生命的光,絕不會在黑暗裡走


作者: peicheng () 看板: P_peicheng

標題: 我是世界的光;跟從我的,會得著生命的光,絕不會在黑暗裡走

時間: Sun Oct 15 18:55:47 2006



翁景民先生說

約翰福音8:12 的經文深深地感動了他



「耶穌又對眾人說:我是世界的光。跟從我的,就不在黑暗裡走,必要得著生命的光。」



以下



為上帝做見證





作  者: 戴智彰

參考經文:【 馬太福音五章14∼16節】



你們的光也該照在人面前,讓他們看見你們的好行為,來頌讚你們在天上的父親。(五章

16節)



《星空下飛翔的教授:翁景民最後的197天》這本書,是由張文亮教授在翁教授患病後,

每次前往探訪他時所寫下的代禱信集結而成。



書中提到,一九九二年翁景民教授受企業邀請演講時,談起他的信仰,卻被台下的人大聲

抗議,但他並沒有放棄,一九九五年再受邀演講時,他有了預備,這次台下哭成一團。因

此,他一直都記得,以企業管理的方式傳福音是他的使命。



魏肯生博士(Dr. Bruce Wilkinson)在所寫的《雅比斯的禱告》書中,提到他生命中一

個很特別的感動,那時他就讀達拉斯神學院高年級,正為著將來事奉的道路禱告。當時神

學院的蘇理查博士(Dr. Richard Seume)對他和他的太太提出一個挑戰:「你們想要有

一個更大的生命異象嗎?那麼就立約作個為神編織花邊的人吧!」所謂「編織花邊」,就

是凡事做得比要求或期望更多一點。因為,傢俱的套布常會用花邊做最後的修飾,為的是

要提高傢俱的價值與美感。



無論何種事奉,無非是要讓神藉著我們所發出的光芒,引領人們來祂的面前,離棄黑暗,

親近並跟隨真正的「光」。因為耶穌說:「我是世界的光;跟從我的,會得著生命的光,

絕不會在黑暗裡走。」(約翰福音八章12節)



默想:耶穌不僅要求我們實踐真理的教導,更要用好的行為來榮耀上帝,你願意為主負起

這個十字架嗎?



祈禱:主啊!我知道,我在許多方面都不能榮耀你,求你赦免我。也求你賜我更新的力量

,使我內在生命得著改變,成為你福音的見證人。奉耶穌基督的名禱告,阿們。





--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海

peicheng:推薦這篇文章 10/15 18:55

[公告]凡信我的,不住在黑暗裡


發信人: peicheng.bbs@bbs.cs.nctu.edu.tw (昔我往矣) 看板: P_peicheng

標 題: [公告]凡信我的,不住在黑暗裡

發信站: 次世代BS2 (10/15/06 17:59:03 Sun)



凡信我的,不住在黑暗裡









--

▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>

█▄▄▄▄█ █ ▄▄▄▄▄█ Player: peicheng

▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: 140.128.194.78

☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB


2006年10月13日 星期五

[測試]轉信測試 bs2


發信人: peicheng.bbs@bbs.cs.nctu.edu.tw (昔我往矣) 看板: P_peicheng

標 題: [測試]轉信測試 bs2

發信站: 次世代BS2 (10/13/06 18:26:23 Fri)



 bs2 to wretch



--

▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>

█▄▄▄▄█ █ ▄▄▄▄▄█ Player: peicheng

▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: 140.128.194.78

☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB

這陣子沒寫網誌...


作者: peicheng () 看板: P_peicheng

標題: 這陣子沒寫網誌...

時間: Fri Oct 13 18:01:33 2006



因為前陣子,好像滿忙的。可是,這是真的忙嗎?我也不知道。

每天都是超過十點才回到宿舍。

最近有人問,資科的課業重嗎?如果是只有本科,我覺得不會。

可是,大學生的生活,怎麼只有課業

難怪,之前鍾期會說如果在大學你每天讀兩個小時書

就會拿到書卷獎。我覺得這是真的。

大學算是一個學會自我管理的人生黃金時間

最重要的是人生的信仰

在信仰完成後

接下來的目標或許會比較明確一點

這陣子BBS在徵站務

我覺得這是個自我實現的工作

所以我遞出申請函

不過~

現在就是要增強我自己的能力的時候

當然,

要燃燒自己幫助別人前要先看看

或不會自己燃燒了卻幫助不到別人

自己卻以燃燒殆盡



--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


[公告]在無名再次開版


作者: peicheng () 看板: P_peicheng

標題: [公告]在無名再次開版

時間: Fri Oct 13 17:11:49 2006



在無名再次開版

之前的太久沒用被砍了

--

夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子

之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下

矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以

喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫

之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天140.128.194.78海


2006年10月8日 星期日

THE INTERVIEW WITH GOD


THE INTERVIEW WITH GOD


I dreamed I had an interview with God.


”O! You would like to interview me?” God asked.


“If you have the time?” I said.


God smiled. “My time is eternity. What questions do you have in mind for me?”

“What surprises you most about humankind?”

God answered...



”That they get bored with childhood, they rush to grow up, and then long to be children again.?”



“That they lose their health to make money... and then lose their money to restore their health.”



“That by thinking anxiously about the future, they forget the present, such that they live in neither the present nor the future.”



"That they live as if they will never die, and die as though they had never lived.”




God’s hand took mine and we were silent for a while.


And then I asked... ”As a parent, what are some of life’s lessons you want your children to learn?”


 


“To learn they cannot make anyone love them. All they can do is let themselves be loved.”


 


“To learn that it is not good to compare themselves to others.”


 


“To learn to forgive by practicing forgiveness.”




”To learn that it only takes a few seconds to open profound wounds in those they love, and it can take many years to heal them.”


”To learn that a rich person is not one who has the most,

but is one who needs the least.”




”To learn that there are people who love them dearly, but simply have not yet learned how to express or show their feelings.”




”To learn that two people can look at the same thing and see it differently.”




”To learn that it is not enough that they forgive one another, but they must also forgive themselves.”




"Thank you for your time," I said humbly.


"Is there anything else you would like your children to know?"


God smiled and said,  ”Must know that I am here... always.?”


-author unknown




與神傾談

(Interview with God)




神:噢!你想訪問我?


人:是的!如果您有時間。


神(微笑):我的時間是「永恆」,你有什麼問題?


人:您觀察人類,有那些事讓您最詫異的?


神:噢!人啦!

  在幼兒時總覺萬事無趣,迫不及待的想長大。

  長大後卻又希望重返青春的童年。


  人啊!總為名利而不顧身體,卻又花下巨金妄想重得健康。

  人啊!為何每日為未來而焦慮,卻忘了現在。 如此,你們既沒活在現在,更沒活在未來。

  人啊!你們活著時候好像生命永無止境,而當死亡來臨時才覺悟自己的一生重未真正好好活過。


神握著我的手安靜了片刻….


人: 如果您是人間父母,您希望孩子們學到什麼?


神(微笑):學到雖不能強使他人「愛」你,卻可改變自己成為一個「可愛」的人。

  學到人不要彼此比較。

  學到富人不在擁有多少,卻在需要不多。

  學到兩人間之情感能毀於旦夕,卻需漫長時間去補回。

  學到常常練習「原諒」。

  學到許多人不知如何表達他對你的「愛」,卻「愛」你至深。

  學到雖然面對同一件事,人人可有迥然不同的見解。

  學到被他人「原諒」是不完全的,除非你能「原諒」自己。


神(微笑):學到我就在你的身旁 – 昔在,今在,且永在。



中文翻譯為東海大學校長 程海東先生 翻譯



我第一次看到這篇文章是在高三時

英文老師在單字小考背後的資料

他常常在考卷後面印一些比較輕鬆的英文文章

不過在我看來這篇的意義卻很深遠

當然

不管信不信教

都會滿有感觸的

尤其是 每個人都為了未來來焦慮,卻不知自己活在現在~


2006年10月6日 星期五

Outian徵站務?!


歐添在徵站務要自薦嗎

真是個抉擇

如果有心~

應該可以學到很多東西吧!

我的考慮是~

我自己的能力

有一點小經驗

不過就我自己看來~

還是很不足

以我自己的經驗

第一碰到的物件導向程式

是FLASH ACTIONSCRIP算是第一最熟的語言

碰過ASP ASP .NET這止與小小的改留言版

之後碰PHP這是我有心要專研的的語言

高中有碰過C C++不過都是入門

因為在ACTIONSCRIP鍛鍊了寫程式的基本性質

社團是我就選了網路組

因為待在程式組猛寫ACM題庫實在會使人對寫程式的信心抹滅

社團時期有用過LINUX 跟 FreeBSD 基本的指令都懂

那時候也只維護四台主機不過卻也投入了我大量的時間~

最急迫的需求是我要使用PHP與MySQl所以我就要負責維護

主機的運作

社團期間有擔任華陽夢想家BBS的站務(現在該不會被關站了吧)

FreeBSD主機的運作與bbs系統的修改在我們這邊也形成很大的斷層

因為要對C語言非常的熟悉我們使用的BBS系統是MAPLE

所以也是盡量在學~

2006年9月18日 星期一

開學的第二天


今天算是開學的第二天,不過一切都是剛開始。上星期五開學才上一節計算機概論,跟一節多一點的JAVA。系上的課有滿多都是早上第一節就開始上課了,我只有星期四是第三節開始上課。所幸,是抽到午掃,所以不用太早起來。不過,我的午掃也滿辛苦的,地點是30棟一樓浴廁。早上,先上兩節計算機概論,這科還滿重要的考預官的時候需要他,預官的考試只有四科,除了修滿四學分的軍訓,要達七十分,要考中文,英文,計算機概論,公民與三民主義。教官說計概的專有名詞頗多,所以是我拿分的強項。接著上兩節微積分,我覺得有很多東西是高中時概念,應該要複習,下午就是兩節軍訓。晚上,去打系排,第一次練習,滿輕鬆好玩的。我想我會繼續參加吧。明天要上中文與英文,我就沒有辦法選韓柳文了,因為那兩節我要去上英文,如果大二有機會,在去聽吧!

2006年9月13日 星期三

今天的系主任演講與團契


今天,早上的行程就是註冊。早上先去逛校園,由學長姐帶隊。到路思義教堂,到文理大道,到校友鐘樓。說到校友鐘樓似乎有個特別的事件,就是之前在校友鐘樓後都是相思樹林,就是東海要到東海別墅必經之地,當然我是滿震驚的。因為,校友鍾塔後面的空地確實很大,我想起當初國中時校長說的話,他說房子可以拆,但是樹不可以砍,之前東南中學圖書館外到操場的阿柏勒樹群,本來是要做成水燈的,我想如果有,想必夜晚的風景會更加美麗,但是計劃沒有施行,水燈的完成勢必要照成樹林的砍伐。我想自然景觀和人為景觀是該取得一個平衡。藉著自然景觀是可能培養人文氣息。參觀完校園(只是一部分),就到m2大樓教室聽系主任的演講與程式語言C++ ,JAVA選課的說明。主任的重點大概在,要相信自己,並要勇於改變,任何要勇於嘗試,任何事都是可能的。在大學裡任何人都是被動的,只有你自己是該主動的,只要你去詢問協尋一些資訊,就會有人幫忙,所有的資料都要靠自己去尋找。下午的行程大概就是註冊跟選舉班級幹部,選完之後還留下來聽系壘學長的講解。晚上的行程大概是今天最精采的部分,我去路思義教堂做團契。這是我第一次進去路思義教堂,我終於知道為什麼當初設計完工人會不敢拆模,以那時大家可以覺得這樣的設計會倒塌,可是設計者卻站在內部叫工人開模,深信自己完美的作品。(東海教堂的設計中間是沒有合起來的,而且那個彎度真的是令人很難想像。)晚會開始先由學長姐在教堂裡帶活動熱絡氣氛。之後是由武學務長的演說,說大學的生活,重點是做自己想做的事,認清方向,思考。她的演講內容常是激勵人心的。之後,便由學長姐帶開活動。由點一到四分組,我初期以為我們那組會hi不起來,想不到會是最盡興的一組。當然要感謝,今天帶我們的中文系學姊(小鴨),問的問題大抵是,剛才的演講心得,跟自己的優點是什麼,認為的大學生活是什麼,未來有什麼大學計劃,跟問題討論,與玩一些遊戲。問題,當然帶我進入更深層的思考。同組的有,兩個哲學,一男(死魚)一女(美樂蒂),有一個經濟系的同學(無綽號叫淑楣?),兩個中文系,一位叫彤彤(?進修部),一位叫泡泡,另一位資科的同學(小邪)。之後,還有問一些中文系開的課,我想我應該會去修韓柳文,或先秦文學或詩經。如果明天課程出來沒衝堂,我會去旁聽。已過子夜,遠方的教室依然亮著。今夜過後,我會進入另一個思考。

2006年9月10日 星期日

到東海了


今天搬進東海宿舍了

感覺真好

而且,出去逛了時候,

發現原來東海裡面的那條河還在

樹林還是一堆

很有在山上的感覺

跟在彰中華陽崗時

很不一樣

或許真能感覺風的遞嬗

2006年9月7日 星期四

談我所知道的心理學


最近跟別人談起心理學

心理學一直是我有興趣的議題

比起自然科學,社會科學研究的是人

或許是更加複雜的課題

談的當然不是招人詬病的佛洛伊德的心理學

(人都是被本能與早期經驗決定)

我認同的心理學是認知心理學

心理學有很大的突飛猛進

也是從認知心理學開始的

人們可以藉由改變自己的認知

改變自己的行為

那代表什麼

人,無所不行

人的最大限制即是自己心中的限制

Richard Carlson (理察 卡爾森,或理察卡山)有出一系列通俗

的心理學書籍別為小事抓狂系列是滿好的書

因為輕鬆談到心理學

不是很正經八百的談論心理學的發展

他有另外一本書 越想越快樂(You Can Feel Good Again) 

(希代心理生活叢書)

是比較有系統的用心靈心理學為基準所寫

是個比較有系統的書(相對其他的書會比較乏味可是較有深度)

他出的系列大多是一小篇一小篇

所以可以很快的就看完

You Can Feel Good Again 就需要費較大的功夫下去思考

他提出一套對抗消極不正的簡明理論

只要學習去控制自己的想法,自然就可以得到想要的感覺,

就是越想越快樂。



學習樂觀樂觀學習《Learned Optimism》Martin Seligman (馬汀·塞利格曼)著

(遠流出版 洪蘭教授譯)

作者是賓州大學教授重要理論 習得無助感(Learned Helplessness)

習得無助感最常見的描述是:一個人消極的生活情況,經常沒有意志力去戰勝困境,

而且相當依賴別人的意見和幫助。成因不單是生活情況的改變,

或是特殊的生活體驗,服用藥物有時也會造成這種心理困境。

有重要的三個角度


  • 個人(Personal):他們也許會將自己投射到問題上,換句話說,傾向於針對問題來內化自己。

  • 普及(Pervasive):他們也許會認為問題影響了生活中每個層面。

  • 永恆(Permanent):他們也許會認為問題是不可能被改變的。


他有個重要的實驗用三隻狗來驗證習得無助的理論

第一隻狗簡單的被加上鞍具,隨後被解下。

第二隻狗被加上鞍具之後,接受短暫但有痛感的電擊,

狗可以經由碰觸槓桿來停止電擊。

第三隻狗與第二隻狗並排,並也接受同樣的電擊測試,

牠前面也有槓桿,唯一不同的是槓桿沒有停止電擊的作用。

在實驗結束後,第一隻與第二隻狗都迅速的恢復原先的狀態,

但第三隻狗則被診斷出有臨床慢性消沉症狀,也就是俗稱的憂鬱症。


此理論可與 我悲觀,但我成功 一書來得到兩面的理論

互相參照會有比較深的體會





2006年9月5日 星期二

從無名到無X


我所知道的無名

也是我所不知道的無X





前言引自上篇網誌

想寫這篇評論也已經很久了從我接觸到的無名小站 04年初的時候,

接管華陽夢想家時,有一段日子是在學校的空教室裡,用學長的筆記型電腦掛網,

那時候常上的站有infor,無名,ptt,夢想家,跟bs2

那時候有掛站升vip,

(720小時換500MB)

我想這個原因導致無名要商業化

因為沒有其他收益是很難支撐

多人使用的機器負荷

bbs的負荷量當然是不大

(跟相簿的服務比起來,我比較喜歡的是個人版轉錄blog的功能 :)  )

但是,如果是要商業化

(另一例走出交大的PIXNET現在也在玩VIP了 只篇不談...)

無名站方就要以更認真的心情去經營

無名的收費,對我來說是過高了一點

這方面可能就要學CYWORLD

他們一個道具只收費台幣三元

降低費用自然會有更多的人加入vip的服務

他們提出的vip方案

5GB的相簿,但是不能由外部連結

5GB能存多少照片阿

而且他們關掉本來HINET連結較快的PROXY

製造一些 假象

在台灣使用HINET的人始終是還是多數

(我也不是在幫HINET說話)

而是不要因為幫台固而斷送

無名最重要的資本

當然,人氣始終是無名的資本

無名相簿改變台灣網路服務的生態

各大入口網的相簿功能也有所改變

無名站方的熱情

或者是受到批判使用TANET的頻寬

受益的是使用者

2006年9月4日 星期一

我所知道的東海


我所知道的東海,最先是從葉珊的散文得來。

葉珊,即是楊牧是東海的學長。

也從其他東海的校友裡得到許多關於東海的種種,或直接,或間接。

可能在一百四十三甲的土地上,許多許多都在變,有人隨著風的嬗遞,

猜測山上草木的生長。以前是對著空空的山頭發愁,現在定是人來人往。

以前是上山,現在也不會用上山了吧。

大度山,或許就如華陽崗一樣,所謂的山也不在是山。

我也不知道在宿舍區內,睡前還可以聽到流水淙淙自山坡下灌。

東海也一直在變,從通才教育修課年限的改變,從勞作教育的施行,

從開架式圖書館的制度,也一直被各大學所援用。還有對宗教的放任,這些或許都沒有改變。

我所知道的東海是風雅的,大抵是從東海畢業的校友得來。

有一些是我所遇過的老師,一些是從社會上知名的人物。

我所知道的東海,始終還是我所不知道的東海。