网络类-tcpdump抓包

工具教程3天前更新 hank
45 0 0

安装:

一般初始镜像都有,可能有些没有,就安装一下

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):传输期间生存时间超出
© 版权声明

相关文章

暂无评论

none
暂无评论...