Tcpdump是一个强大的网络分析工具,用于Linux系统和macOS中的网络流量分析。网络管理员使用tcpdump进行网络嗅探、捕获和分析TCP/IP数据包。它使用了一个"libpcap"库来帮助有效地捕获网络流量。此外,tcpdump还有助于定期进行网络故障排除和监控网络活动。该工具将捕获的数据存储在一个"pcap"文件中。使用TCP/IP数据包分析工具(如Wireshark)或其他命令行工具进一步分析这些文件。
在本指南中,我们将演示如何在Linux系统上安装TCPDUMP,以及如何使用TCPDUMP捕获和分析TCP/IP数据包。
如何安装Tcpdump
Tcpdump预装在许多Linux发行版上。但如果您的系统上尚未安装tcpdump,则可以在Linux系统上安装tcpdump。要在Ubuntu 22.04系统上安装tcpdump,请使用以下命令:
$sudo apt安装tcpump
要在Fedora/CentOS上安装tcpump,请使用以下命令:
$sudo DNF安装tcpump
如何使用Tcpdump命令捕获数据包
要使用tcpdump捕获数据包,请使用"Ctrl + Alt + t"以sudo权限启动终端。该工具包括不同的选项和过滤器来捕获TCP/IP数据包。如果您想捕获当前或默认网络接口的所有流动数据包,请使用不带任何选项的"tcpdump"命令。
tcpdump
给定的命令捕获系统默认网络接口的数据包。
在该命令执行结束时,所有捕获和过滤的数据包计数都会显示在终端上。
让我们来了解一下输出。
Tcpdump支持TCP/IP数据包头的分析。它为每个数据包显示一行,命令将继续运行,直到你按下“Ctrl + C”停止它。
tcpdump提供的每一行都包含以下详细信息:
- Unix时间戳(例如,02:28:57.839523)
- 方案(IP)
- 源主机名或IP和端口号
- 目标主机名或IP和端口号
- TCP标志(例如,Flags [F.])用S(SYN)、F(FIN)、. (ACK),P(PUSH),R(PUSH)
- 数据包中数据的序列号(例如,SEQ 5829:6820)
- 确认编号(例如,(ACK 1016)
- 窗口尺寸(例如,win 65535),表示接收缓冲区中的可用字节,后面是TCP选项
- 数据有效载荷的长度(例如,长度991)
要列出系统的所有列出网络接口,请使用带有“-D”选项的“tcpump”命令。
$sudo tcpump-D
或
$tcpdump——list—interruptions
此命令列出了Linux系统上连接或运行的所有网络接口。
捕获指定网络接口的数据包
如果要捕获通过特定接口的TCP/IP数据包,请将"—i"标志与"tcpdump"命令一起使用,并指定网络接口名称。
$sudo tcpdump—i lo
给定的命令捕获"lo"接口处的流量。如果要显示数据包的详细信息,请使用"—v"标志。要打印更全面的详细信息,请在"tcpdump"命令中使用"—vv"标志。定期使用和分析有助于维护一个强大和安全的网络环境。
同样,您可以使用以下命令捕获任何接口的流量:
$sudo tcpump-i任意
使用特定端口捕获数据包
您可以通过指定接口名称和端口号来捕获和过滤数据包。例如,要使用端口22捕获通过“enp0s3”接口的网络数据包,请使用以下命令:
$tcpdump—i enp0s3端口22
上一个命令捕获来自"enp0s3"接口的所有流动数据包。
使用Tcpdump捕获有限的数据包
您可以使用"—c"标志和"tcpdump"命令来捕获指定数量的数据包。例如,要在"enp0s3"接口捕获四个数据包,请使用以下命令:
$tcpdump—i enp0s3—c 4
使用您的系统替换接口名称。
用于捕获网络流量的有用Tcpdump命令
在下面,我们列出了一些有用的“tcpump”命令,它们将帮助您高效地捕获和过滤网络流量或数据包:
使用“tcpump”命令,您可以捕获具有已定义的目的IP或源IP的接口的数据包。
$tcpdump—i {interface—name} dst {destination—ip}
您可以捕获快照大小为65535字节的数据包,这与默认大小262144字节不同。在旧版本的tcpdump中,捕获大小被限制为68或96字节。
$tcpdump—i enp0s3—s 65535
如何将捕获的数据包保存到文件中
如果您想将捕获的数据保存到一个文件中以供进一步分析,您可以这样做。如果它捕获指定接口的流量,然后将其保存到“.pcap.”文件中。使用以下命令将捕获的数据存储到文件中:
$tcpdump—i—s 65535—w. pcap
例如,我们有“enps03”接口。将此捕获的数据保存到以下文件中:
$sudo tcpdump—i enps03—w dump. pcap
将来,您可以使用Wireshark或其他网络分析工具读取此捕获的文件。因此,如果你想使用Wireshark分析数据包,请使用"—w"参数并将其保存到". pcap"文件中。
结论
在本教程中,我们通过不同的示例演示了如何使用tcpump捕获和分析数据包。我们还学习了如何将捕获的流量保存到“.pCap”文件中,您可以使用Wireshark和其他网络分析工具查看和分析该文件。