1. 程式人生 > >tcpdump命令

tcpdump命令

代碼優化 超過 linu 設置 如果 ket 工具 序列號 int

  tcpdump是一個用於截取網絡分組,並輸出分組內容的工具。tcpdump憑借強大的功能和靈活的截取策略,使其成為類UNIX系統下用於網絡分析和問題排查的首選工具。


  tcpdump提供了源代碼,公開了接口,因此具備很強的可擴展性,對於網絡維護和入侵者都是非常有用的工具。tcpdump存在於基本的Linux系統中,由於它需要將網絡界面設置為混雜模式,普通用戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。

選項介紹 

  -A 以ASCII格式打印出所有分組,並將鏈路層的頭最小化。
  -c 在收到指定的數量的分組後,tcpdump就會停止。
  -C 在將一個原始分組寫入文件之前,檢查文件當前的大小是否超過了參數file_size 中指定的大小;如果超過了指定大小,則關閉當前文件,然後在打開一個新的文件。參數 file_size 的單位是兆字節(是1,000,000字節,而不是1,048,576字節)。

  -d 將匹配信息包的代碼以人們能夠理解的匯編格式給出。
  -dd 將匹配信息包的代碼以c語言程序段的格式給出。
  -ddd 將匹配信息包的代碼以十進制的形式給出。
  -D 打印出系統中所有可以用tcpdump截包的網絡接口。
  -e 在輸出行打印出數據鏈路層的頭部信息。
  -E 用spi@ipaddr algo:secret解密那些以addr作為地址,並且包含了安全參數索引值spi的IPsec ESP分組。
  -f 將外部的Internet地址以數字的形式打印出來。
  -F 從指定的文件中讀取表達式,忽略命令行中給出的表達式。
  -i 指定監聽的網絡接口。
  -l 使標準輸出變為緩沖行形式,可以把數據導出到文件。
  -L 列出網絡接口的已知數據鏈路。
  -m 從文件module中導入SMI MIB模塊定義。該參數可以被使用多次,以導入多個MIB模塊。
  -M 如果tcp報文中存在TCP-MD5選項,則需要用secret作為共享的驗證碼用於驗證TCP-MD5選選項摘要(詳情可參考RFC 2385)。
  -b 在數據-鏈路層上選擇協議,包括ip、arp、rarp、ipx都是這一層的。
  -n 不把網絡地址轉換成名字。
  -nn 不進行端口名稱的轉換。
  -N 不輸出主機名中的域名部分。例如,‘nic.ddn.mil‘只輸出’nic‘。
  -t 在輸出的每一行不打印時間戳。
  -O 不運行分組分組匹配(packet-matching)代碼優化程序。
  -P 不將網絡接口設置成混雜模式。
  -q 快速輸出。只輸出較少的協議信息。
  -r 從指定的文件中讀取包(這些包一般通過-w選項產生)。
  -S 將tcp的序列號以絕對值形式輸出,而不是相對值。
  -s 從每個分組中讀取最開始的snaplen個字節,而不是默認的68個字節。
  -T 將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc遠程過程調用)和snmp(簡單網絡管理協議;)。
  -t 不在每一行中輸出時間戳。
  -tt 在每一行中輸出非格式化的時間戳。
  -ttt 輸出本行和前面一行之間的時間差。
  -tttt 在每一行中輸出由date處理的默認格式的時間戳。
  -u 輸出未解碼的NFS句柄。
  -v 輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息。
  -vv 輸出詳細的報文信息。
  -w 直接將分組寫入文件中,而不是不分析並打印出來。

tcpdump命令