tcpdump常用命令常用参数: -i:指定需要的网 -s:抓取数据包时默认抓取长度为 68 字节,加上-s 0 后可以抓到完整的数据包 -w:监听的数据包写入指定的文件 -nn:以 ip 和 port 的形式显示来源主机和目的主机 -A:以 ascii 的形式显示抓取的数据包,在抓取 Web 数据的场景下非常有用 抓取所有经过 eth1,目的或源地址是 10.1.1.1 的网络数据包 tcpdump -i eth1 host 10.1.1.1
监听源地址 tcpdump -i eth1 src host 10.1.1.1
监听目的地址 tcpdump -i eth1 dst host 10.1.1.1
监听特定端口 tcpdump -i eth0 -nnA 'port 80
监听特定主机和端口 tcpdump -i eth0 -nnA 'port 8080 and src host 10.1.1.1
如果想使用 wireshark 分析 tcpdump 的包,需要加上 -s 参数 tcpdump -i eth0 tcp and port 80 -s 0 -w traffic.pcap
tcpdump分析客户端流量话不多说,直接上脚本吧,有兴趣的朋友可以收藏,说不定哪天用上了呢? tcpdump_client_stat.sh #!/usr/bin/env bash
net=$1 # 网卡 eth0/any port=$2 # 端口 8080/22/... count=$3 # 网络包个数 1000000
tcpdump -i $net -nn 'tcp port $port' -c $count | grep 'IP' | grep '>' | grep '$port' | awk '{print $3}' | grep -v '$port' | awk -F . -v OFS=. '{print $1, $2, $3, $4}' | sort -n | uniq -c
bash tcpdump_client_stat.sh any 8080 1000000 输入结果: 1000 127.0.0.1 800000 127.0.0.2 500 127.0.0.3
显而易见,127.0.0.2 可能存在可疑流量。
|