導航:首頁 > 程序命令 > linuxwireshark抓包命令

linuxwireshark抓包命令

發布時間:2023-03-06 08:11:33

『壹』 在linux命令行環境下如何抓取網路數據包

  眾所周知,在Windows下開發運行環境下,在調試網路環境時,可以可以很方便的藉助wireshark等軟體進行抓包分析;並且在linux或者Ubuntu等桌面版里也可以進行安裝抓包工具進行抓包分析,但總有一些情況,無法直接運用工具(比如一些沒有界面的linux環境系統中),則此時我們就需要使用到最簡單的tcpmp命令進行網路抓包。

  一般的,linux下抓包時,抓取特定的網路數據包到當前文件夾下的文件中,再把文件拷貝出來利用Windows下的wireshark軟體進行分析。

tcpmp命令詳解:(簡單舉例)

  1、抓取到的文件為filename.cap,然後將此文件拷貝到Windows下,使用wireshar打開後,即可對此文件進行分析。
  2、eth0 是主機的網路適配器名稱,具體的參數值可以在linux命令行窗口中通過 ifconfig 指令查詢。

『貳』 wireshark抓包命令總結

參考的循環抓包命令,其中的過濾條件需要根據實際情況修改(該命令最多佔用4G的存儲空間,且會在後台持續運行):sudo nohup tcpmp -i [network_interface] port 80 -s 80 -C 80 -W 100 -w /tmp/waf.pcap &

-W filecount .  -C file_size . -s 80  snaplen 截取特定的長度

常用排錯過濾條件:

對於排查網路延時/應用問題有一些過濾條件是非常有用的:

tcp.analysis.lost_segment:表明已經在抓包中看到不連續的序列號。報文丟失會造成重復的ACK,這會導致重傳。

tcp.analysis.plicate_ack:顯示被確認過不止一次的報文。大涼的重復ACK是TCP端點之間高延時的跡象。

tcp.analysis.retransmission:顯示抓包中的所有重傳。如果重傳次數不多的話還是正常的,過多重傳可能有問題。這通常意味著應用性能緩慢和/或用戶報文丟失。

tcp.analysis.window_update:將傳輸過程中的TCP window大小圖形化。如果看到窗口大小下降為零,這意味著發送方已經退出了,並等待接收方確認所有已傳送數據。這可能表明接收端已經不堪重負了。

tcp.analysis.bytes_in_flight:某一時間點網路上未確認位元組數。未確認位元組數不能超過你的TCP窗口大小(定義於最初3此TCP握手),為了最大化吞吐量你想要獲得盡可能接近TCP窗口大小。如果看到連續低於TCP窗口大小,可能意味著報文丟失或路徑上其他影響吞吐量的問題。

tcp.analysis.ack_rtt:衡量抓取的TCP報文與相應的ACK。如果這一時間間隔比較長那可能表示某種類型的網路延時(報文丟失,擁塞,等等)。

『叄』 linux怎麼抓包,怎麼查看分析

linux上面有命令界面的tcpmp,wireshark,圖形界面的wireshark都可以抓包。想要了解更多關於Linux的資訊和文章請關注《linux就該這么學》。

『肆』 如何通過wireshark進行抓包的分析

啟動wireshark後,選擇工具欄中的快捷鍵(紅色標記的按鈕)即可Start a new live capture。

主界面上也有一個interface list(如下圖紅色標記1),列出了系統中安裝的網卡,選擇其中一個可以接收數據的的網卡也可以開始抓包。
在啟動時候也許會遇到這樣的問題:彈出一個對話框說 NPF driver 沒有啟動,無法抓包。在win7或Vista下找到C: \system\system32下的cmd.exe 以管理員身份運行,然後輸入 net start npf,啟動NPf服務。
重新啟動wireshark就可以抓包了。

抓包之前也可以做一些設置,如上紅色圖標記2,點擊後進入設置對話框,具體設置如下:
Interface:指定在哪個介面(網卡)上抓包(系統會自動選擇一塊網卡)。
Limit each packet:限制每個包的大小,預設情況不限制。
Capture packets in promiscuous mode:是否打開混雜模式。如果打開,抓 取所有的數據包。一般情況下只需要監聽本機收到或者發出的包,因此應該關閉這個選項。
Filter:過濾器。只抓取滿足過濾規則的包。
File:可輸入文件名稱將抓到的包寫到指定的文件中。
Use ring buffer: 是否使用循環緩沖。預設情況下不使用,即一直抓包。循環緩沖只有在寫文件的時候才有效。如果使用了循環緩沖,還需要設置文件的數目,文件多大時回卷。
Update list of packets in real time:如果復選框被選中,可以使每個數據包在被截獲時就實時顯示出來,而不是在嗅探過程結束之後才顯示所有截獲的數據包。
單擊「OK」按鈕開始抓包,系統顯示出接收的不同數據包的統計信息,單擊「Stop」按鈕停止抓包後,所抓包的分析結果顯示在面板中,如下圖所示:

為了使抓取的包更有針對性,在抓包之前,開啟了QQ的視頻聊天,因為QQ視頻所使用的是UDP協議,所以抓取的包大部分是採用UDP協議的包。
3、對抓包結果的說明
wireshark的抓包結果整個窗口被分成三部分:最上面為數據包列表,用來顯示截獲的每個數據包的總結性信息;中間為協議樹,用來顯示選定的數據包所屬的協議信息;最下邊是以十六進制形式表示的數據包內容,用來顯示數據包在物理層上傳輸時的最終形式。

使用wireshark可以很方便地對截獲的數據包進行分析,包括該數據包的源地址、目的地址、所屬協議等。

上圖的數據包列表中,第一列是編號(如第1個包),第二列是截取時間(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是這個包使用的協議(這里是UDP協議),第六列info是一些其它的信息,包括源埠號和目的埠號(源埠:58459,目的埠:54062)。

中間的是協議樹,如下圖:

通過此協議樹可以得到被截獲數據包的更多信息,如主機的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP埠號(user datagram protocol)以及UDP協議的具體內容(data)。

最下面是以十六進制顯示的數據包的具體內容,如圖:

這是被截獲的數據包在物理媒體上傳輸時的最終形式,當在協議樹中選中某行時,與其對應的十六進制代碼同樣會被選中,這樣就可以很方便的對各種協議的數據包進行分析。
4、驗證網路位元組序
網路上的數據流是位元組流,對於一個多位元組數值(比如十進制1014 = 0x03 f6),在進行網路傳輸的時候,先傳遞哪個位元組,即先傳遞高位「03」還是先傳遞低位「f6」。 也就是說,當接收端收到第一個位元組的時候,它是將這個位元組作為高位還是低位來處理。
下面通過截圖具體說明:

最下面是物理媒體上傳輸的位元組流的最終形式,都是16進製表示,發送時按順序先發送00 23 54 c3 …00 03 f6 …接收時也按此順序接收位元組。
選中total length:1014, 它的十六進製表示是0x03f6, 從下面的藍色選中區域可以看到,03在前面,f6在後面,即高位元組數據在低地址,低位元組數據在高地址(圖中地址從上到下從左到右依次遞增),所以可知,網路位元組序採用的是大端模式。

閱讀全文

與linuxwireshark抓包命令相關的資料

熱點內容
程序員那麼可愛陸漓和姜逸城吻戲 瀏覽:802
android獲取窗口大小 瀏覽:180
程序員為世界帶來的貢獻 瀏覽:214
程序員招聘自薦信 瀏覽:693
魔獸鍵位設置命令宏 瀏覽:645
程序員沒有目標了 瀏覽:828
搶答器c程序編程 瀏覽:703
什麼app可以自己玩 瀏覽:76
刨客app是什麼 瀏覽:963
cad輸入命令欄不見了 瀏覽:834
做故事集可以用什麼app 瀏覽:692
qq郵箱發送壓縮包 瀏覽:672
程序員桌面機器人 瀏覽:589
xjr快速開發平台源碼 瀏覽:159
java介面runnable 瀏覽:31
python怎麼運行web伺服器 瀏覽:349
notepad編程代碼 瀏覽:740
什麼安卓的毛病最少 瀏覽:611
hp的pjl設備訪問命令 瀏覽:635
googlewebp圖片壓縮技術 瀏覽:215