iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 19
2
Security

鯊魚咬電纜:30天玩Wireshark系列 第 24

[Day 19] 在封包中搜尋字串是否搞錯了什麼

  • 分享至 

  • xImage
  •  

連續解了這麼多天的題目,希望大家能夠藉由這些題目,更了解到要如何去應用Wireshark這個軟體,以及他的功能到底有多強大,那今天就暫停解題一天,來講一下之前還沒仔細介紹過,但卻常常需要使用到的的搜尋功能。

有時候我們需要快速從封包中查詢某些字串等資訊,但總不可能一個封包一個封包慢慢看,這時候就可以使用查詢功能,使用方法則是需要先按下常用功能列中一個看起來像是放大鏡的圖示並點下去,或是從功能列選擇Edit>Find Packet,也可以把查詢視窗叫出來。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304wMswM9MFE3.png

選擇該項功能後,搜尋欄位就會在過濾指令的下方出現。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304JCmvu88umg.png

首先,我們可以選擇要查詢的類型,如下圖紅框的地方,而這邊有4個選項可以選擇,包含Display filter、Hex value、String跟Regular Expression,而右邊的空白欄位就是讓你跟不同的搜尋類型輸入不同搜尋內容的。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304hOv9zwvgvC.png

如果選擇Display filter,就可以利用過濾指令找到符合的封包,跟之前我們直接使用過濾欄位不同的地方是,使用過濾欄位會直接把所有符合條件的封包都列出來,並把不符合過濾條件封包隱藏,如下圖,他可以讓你直接觀察所有符合條件的封包。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304gF0nQLRqm7.png

但如果使用搜尋功能的Display filter,它不會將不符合過濾條件封包隱藏,只會逐項跳到符合過濾條件的封包,這則可以幫助觀察符合條件的封包跟其附近的封包是否有關連性,如下圖,在搜尋欄位輸入過濾指令後,它會逐條把符合條件的封包反白起來,按下Find按鈕就會在跳到下一個符合結果的封包去。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304KqMUkNJZJi.png

下一種可以搜尋的類型則是Hex Value,例如我們今天要在封包裡找特定的Hex Value「00 0c 29 1f f8 1a」,我們就可以在下圖紅框處選擇Hex Value,輸入我們要查詢的值,並按下Find,就可以逐項找到我們想找的值存在那些封包中,如下圖藍框處。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304SgJEFOw8v3.png

下一種可以搜尋的類型則是String,這項功能顧名思義就是可以讓你搜尋字串,而當你選擇String時,會發現搜尋功能多了三個原本不能動的欄位可以選擇,如下圖紅、藍、綠框處。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304peEKKBpunY.png

紅框處是讓你可以選擇搜尋範圍,藍框處讓你可以選擇查詢的編碼,綠框則是可以選擇字串需不需要符合大小寫。
搜尋範圍可以選擇的選項包含Packet list、Packet details及Packet bytes,那這三項有什麼差異呢,很簡單,範圍就如下圖所示,所以就看你想查哪個範圍的資訊,就在這個欄位選哪個選項就行了。

https://ithelp.ithome.com.tw/upload/images/20180107/20107304gyFwXfOUSD.png

編碼的部分可以選擇Narrow (UTF-8/ASCII)、Wide(UTF-16)及Narrow & Wide,如果你不知道你要找的編碼是什麼,就選擇Narrow & Wide就對了。而旁邊的Case sentive勾起來就是需要找到完全符合大小寫的字串,反之則不用。

下一種可以搜尋的類型則是Regular Expression,很明顯的,這個功能可以讓你用正規表達式來找到符合條件的封包,而在這個功能中,搜尋範圍跟是否符合大小寫兩項功能是可以選擇的,如下圖,不過其實從正規表達式裡也就可以自己把是否符合大小寫的規則寫進去就是了。

https://ithelp.ithome.com.tw/upload/images/20180107/201073048ziJiKauK1.png

介紹完各種搜尋功能,大家會發現,如果直接點選Find按鈕的話,預設就是向下搜尋,那如果我想要往前搜尋的話怎麼辦呢?總不能先等搜尋按到底之後才又跳回第一筆開始搜尋吧。不用擔心,只要選擇功能列中的Edit>Find Next或Find Previous,就可以選擇是要往後搜尋或是往前搜尋囉,嫌每次都要點功能列很麻煩的話也沒問題,直接按Ctrl+N跟Ctrl+B這兩個快捷鍵就可以達成囉!

https://ithelp.ithome.com.tw/upload/images/20180107/20107304c3pNxnGusj.png

今天補充介紹了Wireshark重要的搜尋功能,也期待大家可以多多練習使用囉~


上一篇
[Bonus Day 4] 台灣學術網路危機處理中心 TACERT
下一篇
[Day 20] 解解題 Puzzle #6: Ann’s Aurora
系列文
鯊魚咬電纜:30天玩Wireshark51
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
wajika
iT邦新手 5 級 ‧ 2021-11-16 10:33:54

请教个问题
我有个 https server,一个 client 作为 plugins 安装在 dotnet 应用中,dotnet 应用启动后 client 会连接 https server,但是最近 dotnet 日志的中 一直出现 client 连接 server timeout 的消息,我从日志里拿到 timeout 的消息,然后在 wireshark 上配置了 tls,https 应该已经解密掉了 ,能看到 server hello 和client hello,但是我直接拿 server timeout 的消息 在 wireshark 上搜索并没有得到结果。

我想知道,通过 wireshark 怎么样才能发现 server timeout 的原因? server 的 log 并没有发现有价值的报错信息。

我要留言

立即登入留言