安装:
一般初始镜像都有,可能有些没有,就安装一下
yum install tcpdump
apt install tcpdump
注意点:如果tcpdump提示tcpdump: Couldn’t find user ‘tcpdump’直接在参数里面加下-Z root即可
tcpdump格式
tcpdump默认格式
tcpdump [基础控制参数] '[BPF 过滤表达式]' 基础控制参数: -i :指定特定的网卡或者写any,没有就是默认any -n :不把ip解析成主机名、服务名等等,这里就是不把IP解析成主机名,属于性能优化类参数,很多-n参数功能类似,比如监听端口ss -tlnp,-n也是。 -nn ;有-n的功能,多了一个端口号不解析。即不把ip解析成主机名,不把端口号解析成服务名。 -c :报文数量限制,比如 -c 100就是只抓取100个报文就停止。 -w :写入文件,后面补文件名,一般后缀是 .pcap,比如eth0.pcap,如果没有-w,包内容会直接输出在终端,-w就是直接写入文件,后续直接读pcap文件即可,一般可以传输到pc端,用wireshark看 过滤表达式类(一般要'') 这个可以根据需求,比如我只需要抓取-i eth0的网卡数据,我把抓包的数据写入eth0.pcap,然后在wireshark里面过滤也是可以的 这里过滤的话一般就是基于ip、端口、协议展开 ip类 源ip:src(source) 目的ip:dst(destnation) 特定IP: 'host 192.168.1.1' 特定网段: 'net 192.168.1.0/24' 例如 抓取eth0网卡下,源地址为 192.168.1.100的报文 tcpdump -i eth0 -nn -vvv 'src 192.168.1.100' 抓取eth0网卡下,目的地址为10.0.0.5的报文 tcpdump -i eth0 -nn -vvv 'dst 10.0.0.5' 抓取eth0网卡下,和192.168.1.1有关的报文 tcpdump -i eth0 -nn -vvv 'host 192.168.1.1' 抓取eth0网卡下,和192.168.1.0网段有关的报文 tcpdump -i eth0 -nn -vvv 'net 192.168.1.0/24' 端口类 源端口: 'src port 80' 端口范围: 'portrange 100-200' tcpdump -i eth0 -nn -vvv 'portrange 10000-20000' 协议类 抓取icmp tcpdump -i eth0 -nn -vvv 'icmp' 常用组合 and 源地址为192.168.1.100且tcp端口为80的报文 tcpdump -i eth0 -nn -vvv 'src 192.168.1.100 and tcp port 80'
业务场景
业务场景常用:
极简模式(-q)快速观察 eth0 的出入站 IP 组合和协议栈
tcpdump -i eth0 -nn -q -c 1000

观察eth0的dns有没有问题、当前连接了那些域名等等
tcpdump -i eth0 -nn ‘udp port 53’

观察icmp,连通性是否正常,一边另开一个shell会话,长ping
tcpdump -i eth0 -nn ‘icmp’

icmp常用状态码 可达 Type 8 (Echo Request):回显请求 Type 0 (Echo Reply):回显应答 不可达 Type 3, Code 0 (Network Unreachable):网络不可达 Type 3, Code 1 (Host Unreachable):主机不可达(能到网段) Type 3, Code 3 (Port Unreachable):端口不可达 超时 Type 11, Code 0 (TTL expired in transit):传输期间生存时间超出
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...