在 Debian 下提到“sniffer”,通常是指抓包/网络嗅探工具,最常见的是 tcpdump、Wireshark(tshark)、sniffglue 等。下面以 tcpdump(最常用) 为主,讲怎么“过滤数据”。
sudo tcpdump -i eth0
监听 eth0,不指定则默认第一个非 lo 网卡。
sudo tcpdump host 192.168.1.10
源或目的:
sudo tcpdump src host 192.168.1.10
sudo tcpdump dst host 192.168.1.10
sudo tcpdump port 80
sudo tcpdump src port 443
sudo tcpdump dst port 22
sudo tcpdump tcp
sudo tcpdump udp
sudo tcpdump icmp
sudo tcpdump tcp and port 80 and host 192.168.1.10
sudo tcpdump tcp and not port 22
sudo tcpdump net 192.168.1.0/24
sudo tcpdump ether host 00:11:22:33:44:55
sudo tcpdump -c 100 -w test.pcap
读取文件:
tcpdump -r test.pcap
sudo tshark -i eth0 -Y "ip.addr == 192.168.1.10 && tcp.port == 80"
保存:
sudo tshark -i eth0 -w out.pcap
tcpdump 看内容:
sudo tcpdump -A -s0 port 80
只看 HTTP:
sudo tcpdump -A -s0 tcp port 80 | grep GET
如果你说的“sniffer”是某个具体程序(比如 sniffglue、ettercap、python scapy),可以告诉我,我给你对应写法。