Linux抓包工具tcpdump例子

一、什么是tcpdump

tcpdump是Linux系统上最常用的抓包工具,用来抓取网络通信中的数据包,并进行分析。

另外,因为大多数网络安全设备(如防火墙)底层系统也是Linux,所以各种网络安全设备一般也内置tcpdump。

二、什么时候会用到tcpdump

1、当业务系统发生故障,比如客户端app无法连接服务器端,那么可以在服务器端进行tcpdump抓包,看客户端的连接请求是否到达了服务器。这样来排除是网络故障,还是软件上的bug。

2、tcpdump抓包是针对接口的,有时因为网络安全设备(如防火墙)配置错误,会导致数据报文误过滤。这个时候,则可以在防火墙的2个接口分别使用tcpdump进行抓包,如果发现进口有包,出口没了,那一定是被防火墙拦截了。

这样排错,比在防火墙一大堆过滤规则中进行排查要快速的多。

3、当然,tcpdump抓取各种协议报文,可以用来分析和学习。

三、tcpdump使用举例

1、抓取ens33接口所有报文,慎用。

 

这个在生产环境中,因为有大量报文产生,所以可能瞬间导致服务器资源耗尽,所以一定要慎用。

[root@ServerA ~]# tcpdump -i ens33

即使在实验环境,也很短的时间产生了19019个包

2、抓取和主机1.1.1.1之间的包

[root@ServerA ~]# tcpdump -i ens33 host 1.1.1.1 -n

这里的host 1.1.1.1是指定和哪个主机相关,-n是不进行ip和域名的解析

 

3、抓取和主机1.1.1.1之间的telnet包

[root@ServerA ~]# tcpdump -i ens33 host 1.1.1.1 and port 23 -n

这里用到了and,就是并且的条件,然后指定端口号为23

 

4、抓取和1.1.1.1之间,端口号不是23的包

这里用到!,也就是非的意思,排除23端口的包,所以能看到25(smtp),67(dhcp)以及没端口的icmp,但是看不到23。其实已经做了telnet的操作,只是tcpdump在这里不捕获。

 

5、抓取和192.168.0.0/24网段相关的dns包

[root@ServerA ~]# tcpdump -i ens33 net 192.168.0 and port 53 -n

 

6、抓取的报文不需要在屏幕显示,而是写入一个文件

[root@ServerA ~]# tcpdump -i ens33 net 192.168.0 and port 53 -n -w /root/dns.pcap

tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes

^C23 packets captured

23 packets received by filter

0 packets dropped by kernel

[root@ServerA ~]# ls -l /root/dns.pcap

-rw-r--r-- 1 tcpdump tcpdump 2991 Apr 2 16:04 /root/dns.pcap

[root@ServerA ~]#

可以通过scp将文件下载到windows,然后通过wirshark打开(当然也可以直接用tcpdump -r直接打开)

 

                                                                          需要更多教程,微信扫码即可

                                                                                

                                                                                         👆👆👆

                                                        别忘了扫码领资料哦【高清Java学习路线图】

                                                                     和【全套学习视频及配套资料】
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值