背景:我們用tcpdump工具循環抓取網卡上的報文,我們會遇到如下情況:
1. 抓取報文后隔指定的時間保存一次;
2. 抓取報文后達到指定的大小保存一次;
本文就這兩種情況給出tcpdump的使用方法
tcpdump -x udp port 6789 -i em2 -nn--------------------------------------->可輸出從em2 網卡上的詳細的數據包
-nn--------------------------------------> 可輸出相應源IP地址到目的IP地址詳細信息
tcpdump -X udp port 6789 -nn--------------------------------------------->可輸出從端口6789的詳細數據包,
1. 抓取報文后隔指定的時間保存一次:
tcpdump -i eth3 -s0 -G 60 -Z root -w %Y_%m%d_%H%M_%S.pcap
這里解釋下-G選項 后面接時間 單位為秒 本例中的時間為60秒
2. 抓取報文后達到指定的大小保存一次;
tcpdump -i eth3 -s0 -C 1 -Z root -w jiangsuyinhang.pcap
setsid tcpdump udp port 6789 -s0 -C 1 -Z root -w udp_port_listener.pcap &==========>>>>>后台啟動監聽端口6789-->udp數據包
-i 指定網卡名稱
這里的-s0 表示每個報文的大小是接收到的指定大小,如果沒有這個選項,則超過比如1500字節的報文,就會被切除1500字節以外的部分
-C(小寫) 表示每當文件達到指定大小時進行重新保存一個新文件,單位是MB
-Z(小寫) 表示下面的新文件也是用root權限來執行的,如果用-c時必須配合-Z(大寫z).
-w(小寫) 后面跟具體的文件名稱
注意:這個命令行保存下來的文件名是jiangsuyinhang.pcap jiangsuyinhang.pcap0 jiangsuyinhang.pcap1……jiangsuyinhang.pcapN
截圖如下: