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
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼