关于在linux中使用tcpdump命令进行简单的抓包操作

发布时间 2023-04-26 21:45:23作者: 520_1351

如果需要在linux操作系统中对网络数据进行抓包,然后进行数据分析 ,一般使用最多的就是tcpdump命令了

这里笔者介绍一下,关于linux下tcpdump命令的简单使用方法,首先是需要在OS中安装tcpdump软件包的(最小化安装的系统中是没有tcpdump的)

[root@localhost qq-5201351]# yum install tcpdump -y

关于tcpdump命令,最简单的使用就是直接只执行 tcpdump命令, 可以不添加任何选项,

如果不添加任何选项,那么是抓取的那个网卡数据包呢,我们可以从帮助手册中看到,也会根据如下条件选择一个网络接口

If unspecified, tcpdump searches the system interface list

for the lowest numbered, configured up interface (exclud‐ing loopback), which may turn out to be, for example, ``eth0''.

因此我们最好还是指定网络接口,可以结果更加可靠严谨

tcpdump -i eth0 -vnn    

说明:对于选项,其中-n代表以ip数字形式代替名称,再加上一个n,代表以数字形式代替端口协议名称

# 抓取eth0网络接口上,包含主机1.1.1.1的所有数据包,另外,关于主机也可以使用域名的如
tcpdump -i eth0 -vnn host 1.1.1.1

# 指定源IP(使用src host), 如果是目标IP(使用dst host)
tcpdump -i eth0 -nn src host 2.2.2.2

# 指定源端口Port(使用src port), 如果是目标IP(使用dst port), 也可以直接使用port同时表示源和目标
tcpdump -i eth0 -nn dst port 443

# 多个条件,可以使用and, or 等关键词联合,如下是与逻辑
tcpdump -i eth0 -nn src host 3.3.3.3 and dst port 443