tcpdump 工具的使用

在公司涉及到網絡問題的故障,比如遠程命令未實現,與前端設備交互失敗,網絡數據異常等問題,很可能是網絡方面的故障,而在pc機上抓包,採用wireshark 即可,但在linux設備中,tcpdump 這個強大的抓包工具就會顯得重要了。

tcpdump工具很強大,通過命令行指定一系列參數可以實現網絡包抓取功能。

tcpdump 工具有好多關鍵字:
host :主機 ef:192.168.11.120
net:網絡地址 eg: 202.103.55.67
lo:迴環地址,linux 迴環地址一般爲 127.0.0.1
src :指明ip包中源地址
dst :指明ip包中目的地址
arp: 指明抓取arp協議包
tcp :指明抓取tcp協議包
udp:指明抓取udp協議包

tcpdump 工具有好多參數,下面僅僅介紹我目前常用的,其他的大家可以網絡搜索一下:
-c 在收到指定的數量的分組後,tcpdump就會停止。
-f 將外部的Internet地址以數字的形式打印出來。
-i 指定監聽的網絡接口。
-b 在數據-鏈路層上選擇協議,包括ip、arp、rarp、ipx都是這一層的。
-n 不把網絡地址轉換成名字。
-t 在輸出的每一行不打印時間戳。
-r 從指定的文件中讀取包(這些包一般通過-w選項產生)。
-vv 輸出詳細的報文信息。
-w 直接將分組寫入文件中,而不是不分析並打印出來。

下面舉例說明:

  1. 查看網卡1上所有流過的數據包
    tcpdump -vv
  2. 查看固定主機的網絡包
    tcpdump host 192.168.11.120
  3. 查看 固定主機的某個網卡的所有數據包
    tcpdump -i eth2 host 192.168.11.120
  4. 查看 固定主機的某個網卡的某個端口數據包
    tcpdump -i eth2 host 192.168.11.120 and port 80
  5. 過濾數據源IP地址
    tcpdump -i eth1 src net 192.168
  6. 過濾數據目的端口號
    tcpdump -i eth1 dst port 80
  7. 過濾協議
    tcpdump -i eth1 tcp
  8. 保存到文件
    tcpdump -w 123.pcap (文件爲pcap格式,在wireshark可以查看)
  9. 抓取回環地址的數據包
    tcpdump -i lo
  10. 抓取所有網卡的數據包
    tcpdump -i any

個人覺得,簡單使用抓包工具,抓取一定條件的數據包,保存後通過wireshark 工具查看,可實現精準定位分析,tcpdump 和 wireshark 相結合,可使得網絡包分析更加容易。

發佈了29 篇原創文章 · 獲贊 8 · 訪問量 7304
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章