Tcpdump 命令实际示例,Linux 下功能最强大的网络抓包工具

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

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9457

(0)
郭靖的头像郭靖
上一篇 2023年8月3日 下午2:51
下一篇 2023年8月7日 下午4:35

相关推荐

  • Docker常用命令

    列出所有容器ID 查看所有运行或者不运行容器 停止所有的container(容器),这样才能够删除其中的images: 如果想要删除所有container(容器)的话再加一个指令: 查看当前有些什么images 删除images(镜像),通过image的id来指定删除谁 想要删除untagged images,也就是那些id为的image的话可以用 要删除全…

    2022年11月19日
    60100
  • 使用jenkins 打包前端私服代码失败的问题

    问题现象: jinekins 流水线在yarn 编译前端私服依赖包的时候,报错,提示 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 【emm。。。之前的构建都是好好的,也不知道前端大哥啥时候去封装的前端代码,而且奇怪的是没有放在公共库里。。。。】 Pipeline 流…

    2023年1月31日
    49600
  • HTTPS 下使用WebSocket的一些实践

    问题描述: HTTPS 下发起WS连接,连接失败,Chrom 浏览器报错。 socket.js:19 Mixed Content: The page at ‘https://app.XXX.com’ was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoi…

    2023年1月20日
    59200
  • Route命令详解

    route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。 在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址…

    2023年4月7日
    42500
  • 宝塔安装composer,出现 putenv() has been disabled for security reasons

    在宝塔安装composer,出现 putenv() has been disabled for security reasons 方法一:打开配置文件php.ini,找到disable_functions字符串,把后面的putenv删除即可正常安装。 方法二:宝塔面板的话,我的版本是7.2,就找到 PHP7.2管理→禁用函数→删除putenv,重载配置文件后…

    2023年2月14日
    1.2K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信