當前位置:編程學習大全網 - 編程語言 - Tcpdump詳細教程

Tcpdump詳細教程

tcpdump -轉儲網絡上的流量

Tcpdump是壹個攔截網絡數據包並輸出數據包內容的工具。以其強大的功能和靈活的攔截策略,成為類UNIX系統中網絡分析和問題排查的首選工具。

Tcpdump支持對網絡層、協議、主機、網絡或端口進行過濾,並提供and、or、not等邏輯語句幫助妳剔除無用信息。

-c:指定要抓取的包的數量。

-i interface:指定tcpdump需要監聽的接口。默認情況下,將抓取第壹個網絡接口。

-n:地址以數字形式顯式表示,否則顯式表示為主機名,這意味著-n選項不解析主機名。

-nn:除了-n的作用,端口顯示為數值,否則顯示端口服務名。

-P:指定要抓取的包是流入包還是流出包。可以給出的值有“in”、“out”、“inout”,默認值為“inout”。

-s len:將tcpdump的包捕獲長度設置為len,否則默認為65535字節。當要捕獲的數據包較大時,如果長度設置得不夠,可能會發生數據包截斷。如果發生分組截斷,

:符號“[|proto]”將出現在輸出行中(proto將實際顯示為協議名稱)。但是抓取len的時間越長,數據包處理時間就會越長,tcpdump可以緩存的數據包數量就會減少。

這樣會導致數據包丟失,所以只要能搶到想要的包,長度越小越好。

-e:每壹行輸出都將包含數據鏈路層報頭信息,例如源MAC和目的MAC。

-問:快速打印輸出。也就是說,打印的協議信息非常少,因此輸出行相對較短。

-X:輸出包的頭數據將以16十六進制和ASCII模式輸出。

-XX:輸出包的頭數據會同時以16和ASCII輸出。

-v:在分析和打印時,產生詳細的輸出。

-vv:產生比-v更詳細的輸出。

-vvv:產生比-vv更詳細的輸出。

-D:列出可用於抓取包的接口。會列出接口號和接口名,可以在“-i”後使用。

-F:從文件中讀取抓取包的表情。如果使用此選項,命令行上給出的所有其他表達式都將無效。

-w:將捕獲的數據輸出到文件,而不是標準輸出。可以同時合作"-G

時間"選項使得輸出文件每隔壹秒鐘自動切換到另壹個文件。這些文件可以用“-r”選項加載,以便進行分析和打印。

-r:從給定的數據包文件中讀取數據。使用“-”從標準輸入中讀取。

= =基本表達式單元格式是“原目錄類型ID”= =

有關表達式語法,請參考pcap-filter pcap-filter-包過濾語法。

主機、網絡、端口、端口範圍

例如:主機192.168.201.128,網絡128.3,端口20,端口範圍6000-6008 '

src,dst,src或dst,src和dst

Tcp、udp、icmp,如果沒有給出協議類型,則匹配所有可能的類型。

= =運算符"和/&;& amp/ or / || / not /!"連接形成壹個復雜的條件表達式= =。如“host foo and not port FTP and not port FTP-data”,即過濾後的數據包要滿足“host為foo且端口不是FTP (port 21)和FTP-data (port 20)的包”的要求,常見端口與名稱的對應關系可以在linux系統中的/etc/service文件中找到。

此外,可以省略相同的修飾符,如“tcp dstport ftp或ftp-data或domain”與“tcp dstport ftp或TCP dstport FTP-data或TCP dstport domain”含義相同,表示數據包的協議為TCP,目的端口為FTP或FTP-data或domain(端口53)。

用括號“()”來改變表達式的優先級,但是需要註意的是,括號會被shell解釋,所以要用反斜杠“,”轉義到“()”,必要的話需要用引號括起來。

==**tcpdump只能捕獲流經此計算機的數據包* * = =

默認情況下,直接啟動tcpdump會監控第壹個網絡接口(非lo端口)上流通的所有數據包。這樣抓取的結果會非常多,滾動會非常快。

請註意,表達式用單引號括起來,這可以防止shell誤解其中的括號。

  • 上一篇:有壹棵高大的松樹,要測出它的高度,但不能爬到樹上去,也不能將樹砍倒,妳能說出幾種方法嗎?說壹說妳的
  • 下一篇:二年級日記
  • copyright 2024編程學習大全網