October 8,2007

一刀切!用自由軟體 Wireshark 分析網路封包,終結踢皮球大戰(誤)

一晃眼 Ethereal 改名 Wireshark 已經是去年六月的事了,最近剛好手邊有個例子,就來跟大家分享一下我怎麼使用 Wireshark 這個跨平台的網路協定分析軟體吧:


(聲明:限於個人經驗,我用公司的產品 NETeXPERT 來舉例,寫作本文是個人行為,不代表我的公司)
(Disclaimer: This blog entry represents my personal view. Though it uses NETeXPERT as an example, it does not represent the view of my employer - OSI)

NETeXPERT 既然說自己是 Manager of Managers (網管系統的網管系統),在告警管理 (Fault Management) 方面,彙整各種 NE (Network Equipment), EMS(Element Management System), NMS(Network Management System), OSS(Operation Support System) 的告警,當然不是問題只是錢多錢少的問題囉。

但是,身為面對客戶的工程師,實務上我們還是會遇到各種各樣的狀況,例如這次跟 E廠商 之間界接的問題。

其實跟 E廠商 的數套告警系統已經界接很久了,不過最近客戶突然發現,其中一套有一個功能不正常,因此希望我們兩家廠商能夠查一下,到底怎麼回事。

從客戶的觀點,這次的問題,可以用棒球來做比方,好像一個「消失的魔球」。就是,如果 E廠商 "投球", 我們 NETeXPERT 收得到並且能夠正確顯示;反過來如果我們"投球", E廠商 那邊無法顯示!

嗯,他們跟我們都跟客戶回報,相關的軟體、設定,都很久沒更動了。更怪的是,我們和他們其實界接了數套告警系統,就只有這一套有這個狀況。

好吧,我們這套系統是跑在 SUN Solaris 上面的,所以我執行 snoop 這個指令來抓取跟 E廠商 之間的網路封包:(假設對方的 ip 是 aaa.bbb.ccc.ddd)

`/usr/sbin/snoop -o /tmp/filename.cap host aaa.bbb.ccc.ddd`

接著我從我們這一端,"投球"過去。如果一切正常,我們應該會透過網路送出相關的封包,他們收到之後應該要顯示在他們的系統上。

然後我把上面那個 .cap 檔下載(ftp)回來,在我的筆電上面用 Wireshark 開啟,看看兩台機器之間的網路封包到底都是些什麼東東:

wireshark_ack_from_NX_corba_gw

上面那張圖其實開了兩個 Wireshark ,底下那個開啟的 .cap 檔是客戶登入到 E廠商 的機器(也是 SUN Solaris),在那邊執行 snoop 所抓到的,跟我們機器之間的封包。妳可以看到,我用紅色框出來的,相同的封包(只有 來源 和 目的 ip 反過來兩個封包的來源 ip 一樣,目的 ip 一樣)。

好囉,既然我們丟過去的 GIOP 封包他們都收到了,還回覆 No Exception ,那麼他們的系統無法顯示,也許不是我們的問題囉。

雖然最後的答案還沒找到,不過現在輪到 E廠商 的工程師們要頭痛一下啦 :p 讓我大聲的說:

Next question!

==
其實沒什麼好得意的,我手上各種各樣的 trouble ticket 還有一堆 Orz ......

Posted by ystuan at 樂多Roodo! │12:34 │回應(5)引用(0)自由軟體-網路管理
樂多分類:網路/3C 共同主題:自由軟體 工具:編輯本文
標籤:Wireshark
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/4264887
回應文章
有shoot到trouble的 trouble shooting感覺還真好呢!
Posted by ned at October 9,2007 09:54
為什麼 TCP CHECKSUM INCORRECT ?
這個封包不會被當成 bad 嗎 ?
Posted by Jerry at October 9,2007 18:37
ned,

還好啦,我家兩個小鬼的奶粉錢就是這樣來的咩。

Jerry,
在我的情境裡:不會。

在我找時間回一篇完整的解釋之前,請參考 Wireshark FAQ
Q 11.1: Why am I seeing lots of packets with incorrect TCP checksums?
Posted by PowerOp at October 12,2007 12:47

"...相同的封包(只有 來源 和 目的 ip 反過來)..."

小小的問題:
相同的封包,來源 和 目的 ip 應該不會反過來,反過來應該就不是相同封包。

從您的圖來看也是這樣,兩個封包來源都是10.76.2x.x, 目的都是10.76.1x.x
Posted by jjjj at January 14,2008 15:35

jjjj,

感謝指正,已經改為「兩個封包的來源 ip 一樣,目的 ip 一樣」

==
話說,你的留言 ip 位址來自 E 廠商耶,該不會你就是 D 工程師吧? XD
Posted by 毛骨悚然的PowerOp at January 14,2008 20:24