Linux下抓包命令tcpdump的使用
阿新 • • 發佈:2019-01-05
在linux下,可以使用 tcpdump 命令來抓取資料包。
主要用法如下:
過濾網絡卡
tcpdump -i eth0 #抓取所有經過網絡卡eth0資料包
tcpdump -i lo #抓取環回口的資料包
過濾主機/IP
tcpdump host 192.168.10.10 #抓取所有IP為192.168.10.10的資料包
tcpdump src host 192.168.10.10 #抓取所有源IP為192.168.10.10的資料包
tcpdump dst host 192.168.10.10 #抓取所有目的IP為192.168.10.10的資料包
過濾埠:
tcpdump port 1234 #抓取所有埠為1234的網路資料
tcpdump src port 1234 #抓取所有源埠為1234的網路資料
tcpdump dst port 1234 #抓取所有目的埠為1234的網路資料
過濾特定協議:
tcpdump udp #抓取UDP協議的資料包
抓取特定型別的資料包:
tcpdump -i eth1 'tcp[tcpflags] = tcp-syn' #抓取所有經過網絡卡1的SYN型別資料包
結合
tcpdump -i eth1 udp dst port 53 #抓取經過網絡卡eth1的所有DNS資料包(預設埠)
邏輯語句過濾:
tcpdump -i eth1 ‘((tcp) and ((dst net 172.16) and (not dst host 192.168.1.200)))’ #抓取所有經過網絡卡1,目的網路是172.16,但目的主機不是192.168.1.200的TCP資料
抓包存取:
tcpdump -i eth1 host 172.16.7.206 and port 80 -w /tmp/xxx.cap #抓取所有經過網絡卡1,目的主機為172.16.7.206的埠80的網路資料並存儲