從Wireshark監聽的資料中提取需要的資料

2021-09-20 14:56:20 字數 1078 閱讀 8282

最近,需要將wireshark監聽的資料進行提取,分兩步:首先,應該得出wireshark的資料報吧,在圖形化介面中可以非常直觀的將監聽資料進行儲存,但是這樣需要手動操作非常麻煩,而且容易出錯(隨著處理資料報的數量增加,圖形化可能吃不消,以前就遇見過),在linux下,採用了tshark命令,tshark就是wireshark圖形介面命令列化,命令如下:

sudo tshark -f "

udp port 1243

" -i eth0 (-w)> /tmp/capture.cap

對上面的命令進行解釋:"udp port 1243",雙引號內的東西就是對需要監聽的內容進行乙個篩選,也就是埠號為1243的udp資料報,-i後面就是需要監聽的介面,介面後面的(-w)和(>)兩個選項,表示需要儲存檔案的格式,-w儲存的可能是二進位制檔案,例如,使用-w的話,那麼這行命令執行以後capture.cap就是二進位制的檔案,那麼使用》以後,則儲存的文字檔案,當然,現在需要的是純文字檔案,最後則是檔案需要儲存的路徑以及名稱。

sudo cat /tmp/capture.cap | awk'

' > /tmp/capture.txt

此時cat的任務就是將需要被提取的檔案展現出來,通過管道,將輸出內容作為awk命令的輸入,awk是乙個非常好的資料處理工具。具體見鳥哥的私房菜基礎篇363頁!,同樣的輸出為純文字格式檔案capture.txt,完成了上述的工作,我想放入同乙個指令碼就能非常輕鬆的呼叫而且不用出錯,將上述兩行命令輸入乙個指令碼中,但是我發現無法出來capture.txt檔案,後來發現自己sb了,指令碼是一行一行執行,第一行是一直執行的,根本執行不到第二行來,後來在第一行後面加上&,讓其進行後台執行,capture.txt,倒是可以出來但是內容為空白,因為該檔案僅僅在上面檔案建立了就開始抓取自己的內容,當然什麼也沒有。

後來我想,我要的只是最後經過調整的資料,不需要中間資料啊,為什麼不直接一條命令進行提取不就完了,於是將兩個命令融合如下:

sudo tshark -f "

udp port 1243

" -i eth0 |awk '

' > /tmp/capture.txt

從Wireshark監聽的資料中提取需要的資料

最近,需要將wireshark監聽的資料進行提取,分兩步 首先,應該得出wireshark的資料報吧,在圖形化介面中可以非常直觀的將監聽資料進行儲存,但是這樣需要手動操作非常麻煩,而且容易出錯 隨著處理資料報的數量增加,圖形化可能吃不消,以前就遇見過 在linux下,採用了tshark命令,tsha...

mac 下使用wireshark監聽網路上的資料

分三個步驟 1.wireshark安裝 2.開啟網絡卡,允許wireshark訪問 安裝好xquartz和wireshark之後,需要開啟網絡卡,允許wireshark訪問。開啟網絡卡的命令是 sudo chmod 777 dev bpf 每次開機後,執行一次就可以了。如果覺著執行這個命令還要輸入自...

監聽ContentProvider資料的改變

前面介紹的是當contentprovider將資料共享出來之後,contentresolver會根據業務需要去主動查詢contentprovider所共享的資料 但有時候程式需要實時監聽contentprovider所共享的資料,並提供相應的響應,這就需要利用contentobserver了。其實在...