Powered by and 圖示來源

2008年7月24日 星期四

想要監聽其它電腦的封包,首先要有一台古老的HUB,現在市面上都是Switch,這是不行的。
再來就是要把雜聽模式(promiscuous mode)打開。


如果對網路沒研究,沒興趣,也沒時間,那麼下面就不用看了,因為看不懂的機率很大。

我知道有人會衝著"看不懂"這三個字,執意往下看,對這樣的人,我深感佩服。

正所謂士可殺不可辱,身懷硬骨,絕非泛泛之輩。



基本上,這只是常識,會用HUB 抓封包的人,一定知道要開promiscuous mode,既然如此,我何必要落落長,開文解說呢?

先從故事的源頭說起。

一直以來,有台HUB,它很安份的運作著,抓著它該抓的資料。

某天,工作環境多了一台不同subnet的機器,外加它的MAC address跟我現有的機器之一相同。

這樣的網路一定是大亂的,在這樣衝來衝去的環境下,神蹟產生了。

經過一陣調整之後(改subnet 跟 arp -d 而已),工作電腦只能抓到屬於自己的封包,這現象分明是 Switch ,難不成硬體對衝之後會對Hub做軟體升級,自行由Hub變為Switch。


這......

當然....

是....

不可能的事。
廣告



在一陣實驗之後,確定是工作PC的設定問題,它讓封包進不來,但卻遍尋不著怎麼設定,看了抓封包的軟體(Wireshark, 前身是ethereal),promiscuous mode 是勾起來的。

是該用大絕招的時候了--重灌。雖然OS要濾掉wincap抓回來的東西,機率不高,firewall要擋也不會忽然臨時就這樣自行亂擋。

但我還是決定放大絕招,反正最近盜版抓的兇,自己灌過什麼東西早就沒印像了,不如趁這一次,砍掉重練。

本以為放了大絕招,一切就能正常,沒想到,剛灌好熱騰騰電腦還是抓不到該抓的封包。

這個死東西,不只跨reboot,還跨format(重灌時整個HD format),是誰有這麼大的能耐?

經過同事的深思之後,一步一步的想像封包的旅行過程,確定它們是有到達pc。是pc自己把它擋掉的。

這只有一個可能,這是一個存在網路卡flash上的設定值。最後同事想到了,網卡上有一個值叫做promiscuous mode,應該就是它了。

打開Wireshark,發現這個flag早已打開,心中一冷,又猜錯了。

但如今已無招可用,只好勉強一試,把它uncheck and check,按下確定。

就這樣...耶~~!

我的Hub回來了。

事情就這麼簡單,我卻搞了一整天。

最後找出幾個疑點:
到底是誰把promiscuous mode關掉的?
又到底為什麼抓封包的軟體程式要睜眼說瞎話?已經關掉的東西還說沒關。

心中有個底,但是也沒有什麼証據,反正下次再遇到就知道怎麼解了,沒再細究root cause。

如果你能一路看到這邊,不如說說看,你覺得的root cause吧!

本文讓你覺得:

2 留言:

Joey 提到...

請查閱pcap_open_live,winpcap promisc模式開啟的定義在這裡,UI設定並不代表有對網卡初始化

crazyrushstar 提到...

高手出現了,聽起來,wireshark的確是睜眼說瞎話,而且似乎是正常現象?

又學了一招...

張貼留言

有話就說,才是真性情!

##HIDEME##

##HIDEME##