帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 安装和学习使用TCPDUMP,并举例说明。

安装和学习使用TCPDUMP,并举例说明。

发布时间:2020年07月15日 08:33:11    来源: A5互联

Tcpdump命令是一个网络数据包分析工具,可以让我们监控我们的网络流量。使用它,我们可以检查连接到我们服务器的网络接口上正在传输的TCP/IP和其他网络数据包。

Tcpdump命令使用libpcap库来捕获网络数据包。我们可以实时查看网络数据包,也可以将其保存到文件中,以便以后查看。要使用tcpdump命令,我们应该以root用户或具有sudo权限的用户来使用。

在这里,我们将通过实例来讨论如何安装和使用tcpdump。

一、在Linux中安装TCPDUMP命令

在大多数情况下,我们应该已经在大多数Linux发行版上安装了tcpdump,但是如果没有安装tcpdump,则可以使用以下命令之一将其安装到系统上。

CentOS / RHEL 6和7

sudo yum install tcpdump

Fedora / CentOS / RHEL 8

$ dnf install tcpdump

Ubuntu / Debian / Linux Mint

apt-get install tcpdump

现在让我们学习如何使用它来监视我们的网络流量。

二、TCPDUMP命令示例

1、从所有网络接口检查网络流量

要从所有网络接口获取网络数据包,请运行以下命令,

tcpdump -i any

2、仅从单个网络接口检查网络流量

要从单个接口获取网络数据包,请使用

tcpdump -i enp0s3

3、将捕获的网络数据包获取到文件

要将所有捕获的数据包写入文件,请使用'-w'选项,

tcpdump -i eth1 -w packets_file

4、读取网络数据包文件

要读取已经创建的旧tcpdump文件,请使用以下命令,

tcpdump -r packets_file

5、检查数据包中的协议或端口号

要检查基于协议使用的所有数据包,请运行以下命令

tcpdump ssh

要获取一个端口范围内的单个端口的数据包,请使用

tcpdump port 80

tcpdump portrange 20-200

我们还可以使用'src'和'dst'选项基于源和目标获取端口的数据包。

我们还可以将两个条件(下面提到的示例)与AND(和,&&&),OR(或|||)和EXCEPT(不是,!)组合在一起。当我们根据某些条件分析网络数据包时,这将有所帮助。

6、以可读的时间戳获取更多数据包信息

要获取有关数据包以及可读时间戳的更多信息,请使用

tcpdump -ttttnnvvS

7、捕获网络范围内的网络数据包

要获取网络的数据包,请从终端执行以下命令

tcpdump net 10.10.1.0/24

8、检查网络数据包是否有单个IP地址

要捕获单个IP地址(源或目标或两者)的网络数据包,请使用以下命令,

tcpdump host 10.10.1.12

要基于IP地址的源或目标获取数据包,请使用

tcpdump src 10.10.1.12

tcpdump dst 10.10.1.12

9、使用AND

我们可以使用'and'或符号'&&'来组合两个条件,或者使用tcpdump进行替换。一个例子是

tcpdump src 10.10.1.12 && port 22 -w ssh_packets

10、使用OR

或将检查命令tcpdump -i eth0 src port not 22ainst该命令中提到的条件之一,例如

tcpdump src 10.10.1.12 or dst 10.10.1.30 && port 22 -w ssh_packets

tcpdump port 443 or 80 -w http_packets

11、使用EXCEPT

当我们想遗漏满足条件的东西时,将使用EXCEPT

tcpdump -i enp0s3 src port not 22

这将监视eth0上的所有流量,但不会捕获端口22。

12、使用帮助

这些只是我们可以与tcpdump命令一起使用的一些示例。我们可以与tcpdump命令一起使用许多其他选项,并且与其他Linux命令一样,我们可以参考帮助来检查所有选项,

tcpdump –help