//ip過濾
tcpdump -i eth1 host 192.168.1.1
tcpdump -i eth1 src host 192.168.1.1
tcpdump -i eth1 dst host 192.168.1.1
//埠過濾
tcpdump -i eth1 port 25
tcpdump -i eth1 src port 25
tcpdump -i eth1 dst port 25
//網路過濾
tcpdump -i eth1 net 192.168
tcpdump -i eth1 src net 192.168
tcpdump -i eth1 dst net 192.168
//協議過濾
tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 icmp
//抓取tcp並且是80埠,並且目標ip是192.168.1.254或者目標ip是192.168.1.200
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host
192.168.1.200)))'
//抓取icmp報並且目標mac位址是00:01:02:03:04:05
tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'
//抓取tcpo包並且網路段是192.168的,並且目標ip不是192.168.1.200
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
//只抓syn包
tcpdump -i eth1 'tcp[tcpflags] = tcp-syn'
//抓取syn不等於0並且ack不等於0的包
tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
//抓取smtp包
tcpdump -i eth1 '((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))'
//抓取http get包, "get "的十六進製制是 47455420
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
//抓取ssh返回包,"ssh-"的十六進製制是 0x5353482d
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482d'
//抓取老版本的ssh返回包,ssh-1.99
tcpdump -i eth1 '(tcp[(tcp[12]>>2):4] = 0x5353482d) and (tcp[((tcp[12]>>2)+4):2]
= 0x312e)'
//抓取dns包
tcpdump -i eth1 udp dst port 53
//抓取8000埠的get包,寫入日誌
tcpdump -i eth0 '((port 8000) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnal -w /tmp/get.log
使用tcpdump抓包例項
tcpdump通過呼叫網絡卡驅動進行網路抓包,在網路診斷,資料報分析的時候,特別有用。例子如下 tcpdump i eno16777728 host 192.168.52.1 抓取本機到192.168.52 1主機的資料報 tcpdump i eno16777728 nnn host 192.168...
tcpdump非常實用的抓包例項
詳細的文件見tcpdump高階過濾技巧 基本語法 過濾主機 抓取所有經過 eth1,目的或源位址是 192.168.1.1 的網路資料 tcpdump i eth1 host 192.168.1.1 源位址 tcpdump i eth1 src host 192.168.1.1 目的位址 tcpdu...
tcpdump本機抓包
在進行網路測試 的時候,我們經常需要進行抓包的工作,當然有許多測試 工具可以使用,比如sniffer,ethreal等.但最為方便和簡單得就非tcpdump莫屬.linux的發行版裡基本都包括了這個工具.tcpdump將網路介面設定成混雜模式以便捕獲到達的每乙個資料報.下面給出tcpdump的部分常...