tcpdump命令以及簡單使用

 0*00首先給出參數:

root@kali:~# tcpdump -h
tcpdump version 4.9.2
libpcap version 1.9.0 (with TPACKET_V3)
OpenSSL 1.1.1c  28 May 2019
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
		[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
		[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
		[ -Q in|out|inout ]
		[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
		[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
		[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
		[ -Z user ] [ expression ]

0*01參數詳解:

-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 不輸出主機名中的域名部分。
-O 不運行分組分組匹配(packet-matching)代碼優化程序。
-P 不將網絡接口設置成混雜模式。
-q 快速輸出。只輸出較少的協議信息。
-r 從指定的文件中讀取包。
-S 將tcp的序列號以絕對值形式輸出,而不是相對值。
-s 從每個分組中讀取最開始的snaplen個字節,而不是默認的68個字節。
-T 將監聽到的包直接解釋爲指定的類型的報文,常見的類型有rpc遠程過程調用)和snmp(簡單網絡管理協議;)。
-t 在每一行中輸出時間戳。
-tt 在每一行中輸出非格式化的時間戳。
-ttt 輸出本行和前面一行之間的時間差。
-tttt 在每一行中輸出由date處理的默認格式的時間戳。
-u 輸出未解碼的NFS句柄。
-v 輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息。
-vv 輸出詳細的報文信息。
-w 寫入文件中。
-X以十六進制形式輸出。

0*02簡單使用:

tcpdump -i eth0 -s 0 -w   a.cap   指定eth0網卡並且保存到a.cap中
tcpdump -r a.cap 查看數據包
tcpdump -i eth0 tcp port 22 端口抓包篩選
tcpdump -n -r a.cap |awk '{print $3}' |sort -u  sort-u 讀取a.cap經過管道後只輸出第3列然後剔除重複
tcpdump -n src host ip -r a.cap -顯示來源該ip的數據
tcpdump -n dst host ip -r a.cap -顯示發到該ip的數據
tcpdump -s0 防止包截斷

0*03常用篩選

根據類型篩選:
host/net/port
根據方向篩選:
src/dst/dst or src/dst or src
根據協議篩選:
ip/tcp/udp/fddi/arp/rarp
其他關鍵字篩選:
gateway/broadcast/less/greater  and && or || !  not
高級篩選:必須瞭解數據包協議,詳細參考https://www.cnblogs.com/chenpingzhao/p/9108570.html
tcpdump -A -n 'tcp[13]=24' -r a.cap 以ASCII碼形式輸出抓取包頭13位數值等於24的包  其他舉一反三

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章