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

相关推荐

  • yum 安装部署 docker-ce

    一、yum安装Docker 本案例要求配置本地yum源并安装Docker: 准备1台虚拟机,IP为192.168.137.100, 网络设置为NAT模式 安装docker 关闭防火墙 关闭SELINUX 实现此案例需要按照如下步骤进行。   步骤一:配置yum源 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提…

    Linux系统 2023年2月8日
    17400
  • MySQL 用户管理和权限管理

    在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。无论如何,都需要创建多个用户来管理权限。root 是数据库的超级管理员用户,对于普通开发人员来说,权限太大了,如果不小心做了一些不可逆…

    2022年6月9日
    38900
  • apache 设置ssl证书

    安装模块 安装mod_ssl和openssl 创建密钥存放的目录 上传证书和密钥到/etc/httpd/ssl目录下 验证证书和密钥的MD5 编辑配置文件 修改ssl.conf文件 打开ssl模块功能 在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modul…

    2022年11月29日
    18800
  • mysql5.7忘记密码时,修改root密码

    推荐方法二 方法一: 1、修改mysql 配置文件,添加 skip-grant-tables vim /etc/my.cnf [myslqd] ……………….skip-grant-tables………………….

    2023年3月7日
    17700
  • SonarQube支持Gitlab授权登录

    背景 部署好SonarQube之后,由于我们内部使用的是自建的Gitlab仓库,即每个开发同学都有Gitlab账号,SonarQube我们就可以使用上Gitlab登录,这样就不需要再维护一套用户体系了。 环境: SonarQube8.9.2 社区版 GitLab Enterprise Edition 11.10.4-ee 具体配置: Gitlab 配置: 在…

    2023年1月20日
    34000

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信