如果對網路沒研究,沒興趣,也沒時間,那麼下面就不用看了,因為看不懂的機率很大。
我知道有人會衝著"看不懂"這三個字,執意往下看,對這樣的人,我深感佩服。
正所謂士可殺不可辱,身懷硬骨,絕非泛泛之輩。
基本上,這只是常識,會用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吧!