tcpdump才是网工真正的抓包利器

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

说到抓包,很多网工第一反应就是 Wireshark,但真正在线上服务器、纯命令行环境下搞事的,还是得靠 tcpdump。

别看它界面朴素,其实功能强得很,过滤表达式一套一套的,不管你是想抓某个 IP、某个端口,还是指定协议的流量,都能精准拿下。

用熟了之后,排查问题、定位异常,那叫一个快准狠。

这篇案例给你讲讲tcpdump常见的使用场景和命令

今日文章阅读福利:《 2025网工必备60个好用工具下载包 》

添加好友,发送暗号“工具60”,俱乐部精心整理的60个好用工具,全部分享给你。

01 tcpdump简介

tcpdump是一个抓包工具,可以运行在Linux、Windows主机上。通过指定所要过滤报文的条件,捕获满足表达式的报文,则这个报文将会被捕获。

如果没有给出任何条件,则会捕获主机上所有的报文。

表达式中一般有如下几种类型的关键字:

1. 关于主机和端口的关键字:

包括host、port、net,例如host 192.168.1.1表示这是一台主机,net 192.168.0.0表示这是一个网络地址,port 22指明端口号是22,如果没有指明类型,则默认的类型是host

2. 数据传输方向的关键字:

包括src、dst、dst or src、dst and src,这些关键字指明了传输的方向,比如src 192.168.1.1说明数据包源地址是192.168.1.1,dst net 192.168.0.0指明目的网络地址是192.168.0.0,默认是监控主机对主机的src和dst,即默认监听本机和目标主机的所有数据。

3. 协议关键字:

ip、arp、rarp、tcp、udp等。

4. 运算类型关键字:

or、and、not、!

5. 辅助功能型关键字:

gateway、less、broadcast、greater

02 tcpdump使用场景和命令

1. 查看主机全部网卡

 tcpdump -D  或者 tcpdump --list-interfaces

2. 监听指定网卡

tcpdump -i eth0     #-i 后面跟端口名称,指定捕获eth0上的数据包;如果不指定,默认抓取tcpdump -D 查询到的第一个网卡。

3. 捕获指定流经网卡上指定主机的数据包

tcpdump -i eth0 host 192.168.10.xx   #过滤和主机192.168.10.xx有关的数据包; -c 指定抓包的个数

如果要同时抓取多台主机相关的数据包,可以使用or 连接多个不同的主机。

4.  捕获指定源和目标IP的报文

1) tcpdump -i eth0 src host 192.168.10.xx    #捕获eth0上源主机为192.168.10.xx的所有数据包

2) tcpdump -i eth0 dst host 192.168.20.xx   #捕获eth0所有发往主机192.168.20.xx 的数据包

5. 捕获指定端口的报文

tcpdump -i eth0 dst 192.168.70.xx and port 22  -c 10   # 捕获eth0上目标为192.168.70.xx 端口为22的报文

6. 捕获指定协议的报文

tcpdump icmp   # 捕获icmp协议报文

tcpdump icmp and host 172.16.xx.xx   # 捕获和172.16.xx.xx 相关的icmp协议报文

7. 保存抓包文件

 tcpdump -i eno3 icmp -w xxx.pcap    # 参数-w ,将抓包结果保存到xxx.pcap

整理:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值