帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心 > 常用的12个tcpdump命令实际示例

常用的12个tcpdump命令实际示例

发布时间:2020/6/23 10:20:47    来源: A5互联

tcpdump是最基本、最强大的命令行网络数据包嗅探工具。我们用它来分析服务器的网络数据包,捕获或过滤在特定网络接口上通过网络传输和接收的TCP/IP数据包。

它几乎适用于所有基于Linux/Unix操作系统的服务器。您还可以将捕获的数据包保存在文件中,以便以后使用tcpdump工具进行分析。它将文件保存为pcap格式,可通过tcpdump命令或基于GUI的网络协议分析工具Wireshark查看。

如何在Linux中安装tcpdump?

大多数Linux服务器都预装了tcpdump工具,但如果你在系统中没有找到它,你可以使用下面的命令来安装它。

# yum install tcpdump

或者

# apt-get install tcpdump

示例:

将tcpdump工具安装到系统中后,让我们通过使用示例查看tcpdump来检查其功能。

1、从特定接口捕获数据包

tcpdump命令输出将向上滚动,直到您通过中断屏幕停止为止。它将捕获来自所有接口的网络数据包。如果要捕获特定接口的数据包,请使用“ -i”参数和网络接口名称,如下所示:

# tcpdump -i eth0

2、仅捕获N个数据包

缺省情况下,tcpdump命令捕获所有数据包,但捕获软件包数量。要定义要捕获的软件包数量,请使用“ -c”参数,如下所示:

# tcpdump -c 5 -i eth0

3、以ASCII打印捕获的数据包

我们可以使用tcpdump命令捕获ASCII格式的网络数据包。要捕获ASCII格式的数据包,请在tcpdump命令中使用“ -A”参数。

# tcpdump -A -i eth0

4、显示可用接口

我们可以使用带有“ -D”参数的“ tcpdump”命令找到所有可用的接口。

# tcpdump -D

5、以十六进制和ASCII显示捕获的数据包

我们可以使用带有选项“ -XX”的命令“ tcpdump”来捕获带有ASCII和HEX格式的包头的网络包:

# tcpdump -XX -i eth0

6、捕获数据包并将其保存在文件中

我们可以选择将捕获的数据包保存到文件扩展名为“ .pcap”的文件中。要保存“ tcpdump”命令的输出,请使用“ -w”选项以及文件名,如下所示:

# tcpdump -w test.pcap -i eth0

7、读取捕获的数据包文件

要读取“ .pcap”文件(以前是tcpdump输出的剃光文件),我们可以将“ -r”选项与文件名一起使用。例如,在这里我们打开以前剃过的文件(test.pcap)。

# tcpdump -r test.pcap

8、捕获IP地址包

为了捕获IP地址数据包,我们将tcpdump与“ -n”选项一起使用。例如,这里我们在网络接口“ eth0”上捕获IP地址数据包。

# tcpdump -n -i eth0

9、仅捕获TCP数据包

我们可以使用“ tcpdump”命令捕获特定类型的网络数据包。例如,要仅捕获tcp数据包,可以使用带有tcp选项的命令,如下所示:

# tcpdump -i eth0 tcp

10、从特定端口捕获数据包

我们还可以选择“ tcpdump”命令来捕获特定端口上的网络数据包。要使用此功能,我们可以将“ port”参数与端口号一起使用。例如,在下面的命令中,我们正在捕获端口22222使用的eth0接口上的所有网络数据包。

# tcpdump -i eth0 port 22222

11、从源IP捕获数据包

有一个选项可以捕获由特定源IP生成的那些网络数据包。要使用“ tcpdump”命令捕获那些数据包,我们可以将“ src”选项与源IP一起使用,如下所示:

# tcpdump -i eth0 src 192.168.7.5

12、从目标IP捕获数据包

如上述示例,我们还可以选择使用目标地址捕获网络数据包。要使用“ tcpdump”命令捕获那些数据包,我们可以将选项“ dst”与目标IP一起使用,如下所示:

# tcpdump -i eth0 dst 192.168.1.1