https://www.tcpdump.org/manpages/tcpdump.1.html
https://www.cnblogs.com/chenpingzhao/p/9108570.html
https://blog.csdn.net/chinaltx/article/details/87469933
常用選項:
-i :指定網卡,就是要抓哪個網卡的包
-c:指定抓取報文數量,抓到這麼多包後,tcpdump就會停止;
-w:保存抓取的報文到文件
-r:讀取保存的報文
-A:以ascii碼形式顯示報文內容
-X:以十六進制和ascii碼形式顯示報文內容
-v:
-vv:
-vvv:這三個輸出的詳細信息遞增。
-e:輸出數據鏈路層的頭部信息 ;
-s:抓取每個分組中最開始的n個字節,而不是默認的262144字節。-s 0表示抓取報文完整內容。
-n:不把地址(例如IP地址,端口號)等轉換爲對應的名字
-nn:感覺和-n差不多,官網上沒有說-nn
-t:不輸出時間戳
-l:將tcpdump的輸出變爲“行緩衝”方式,可以確保tcpdump一旦遇到換行符,就立即將緩衝的內容輸出到標準輸出,便於利用管道或重定向的方式進行後續處理。
-A -X對比
默認:
使用-A選項:
使用-X選項:
-v、-vv、-vvv:
-e:輸出數據鏈路層的頭部信息
第一句是一個提示信息,告訴你使用-v或者-vv選項查看更詳細的信息。
第二句表示要抓的包的最大長度爲262144字節,超過這個長度,只抓這麼長的。
-t選項:
-l:選項
tcpdump -i ens33 -l | awk '{print $1}'
這個-l選項感覺不好使,沒有一行一行輸出呀。
簡單的過濾:
1. 根據IP過濾
host表示主機
源IP:src host ip_addr
目的IP:dst host ip_addr
IP:host ip_addr
2.根據網段過濾
dst net addr src net addr net addr
3. 根據協議過濾
4. 根據端口過濾
src port portnumber dst port portnumber port portnumber
5. 更多高級過濾方法以後用到再記。
我 這個報文長度怎麼只有40?
-X 16進制查看,類似wireshark顯示結果。
-A ascii碼形式查看,
抓包篩選器:
抓包時要加過濾條件的話,直接在後面跟着寫就可以了。
顯示篩選器:
-n:不對ip地址進行解析成域名
根據源IP,目的IP,端口號進行篩選。
根據TCP報文頭內容進行篩選,上面的例子就是篩選ACK,PSH爲1的TCP報文。tcp[13]=24表示tcp頭部第14個字節值爲24,對應ACK,PSH位爲1,表示tcp內容報文,去掉了,TCP建立時候的交互報文。記得使用單引號''括起來,不是反引號``括起來。