Linux tcpdump命令示例 如何在Linux中安装tcpdump

嵌入式技术

1343人已加入

描述

在这里,我们将展示如何安装 tcpdump,然后讨论并介绍一些有用的命令以及它们的实际示例。

Linux tcpdump 命令示例

tcpdump 是一个功能最强大且广泛使用的命令行数据包嗅探或数据包分析工具,用于捕获或过滤在特定接口上接收或传输的 TCP/IP 数据包。 Tcpdump 在许多 Linux/Unix 操作系统中都是现成的。此外,它提供了一个宝贵的选项,可以将捕获的数据包保存到文件中以供将来分析。 它将文件保存为 pcap 格式,可以通过 tcpdump 命令或名为 Wireshark(网络协议分析器)的开源基于GUI的工具查看 tcpdump pcap 格式文件。  

如何在Linux中安装tcpdump

许多 Linux 发行版已经预装了 tcpdump 工具,如果您的系统没有安装它,可以使用以下任意一条命令进行安装。


$ sudo apt install tcpdump         [在 Debian, Ubuntu 和 Mint 上]
$ sudo yum install tcpdump         [在 RHEL/CentOS/Fedora 和 Rocky/AlmaLinux 上]
$ sudo emerge -a sys-apps/tcpdump  [在 Gentoo Linux 上]
$ sudo apk add tcpdump             [在 Alpine Linux 上]
$ sudo pacman -S tcpdump           [在 Arch Linux 上]
$ sudo zypper install tcpdump      [在 OpenSUSE 上]

 

开始使用 tcpdump 命令示例

一旦在您的系统上安装了 tcpdump 工具,您可以继续查看以下带有示例的命令。

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

默认情况下,命令屏幕会不断滚动,直到您中断它。当我们执行 tcpdump 命令时,它会从所有接口捕获数据包,但是通过使用“-i”开关,只能从所需的接口捕获。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33

Linux  

2、仅捕获指定数量的数据包

当运行 tcpdump 命令时,它会捕获指定接口的所有数据包,直到您按下取消按钮。但是通过使用“-c”选项,您可以捕获指定数量的数据包。以下示例将仅捕获6个数据包。

 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -c 5 -i ens33

Linux

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

以下带有选项“-A”的tcpdump命令以ASCII格式显示数据包。这是一种字符编码格式。

 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -A -i ens33

Linux

 

4、显示可用的接口

要列出系统上可用的接口数量,请运行以下带有“-D”选项的命令。


root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -D
Linux

 

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

以下带有“-XX”选项的命令会捕获每个数据包的数据,包括其链路层头部,以十六进制和ASCII格式显示。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -XX -i ens33

Linux

 

6、捕获并保存数据包到文件中

正如前面所说,tcpdump具有将数据包捕获并保存为.pcap格式的功能,要实现这一点,只需执行带有“-w”选项的命令。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -w 0001.pcap -i ens33

Linux

 

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

要读取和分析捕获的数据包0001.pcap文件,请使用带有“-r”选项的命令,如下所示。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -r 0001.pcap

Linux

 

8、捕获IP地址数据包

要捕获特定接口的数据包,请使用带有“-n”选项的以下命令。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -n -i ens33

Linux

 

9. 仅捕获TCP数据包。

要基于TCP端口捕获数据包,请使用带有“tcp”选项的以下命令。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 tcp

Linux

 

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

假设您要捕获特定端口443的数据包,请执行以下命令,并指定端口号443,如下所示。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 port 443tcpdump -i ens33 port 443

Linux

 

11、从源IP捕获数据包

要捕获源 IP 的数据包,例如,您要捕获IP地址为 192.168.174.132 的数据包,请使用以下命令。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 src 192.168.174.132

Linux

 

12、从目标IP捕获数据包

要捕获目标 IP 的数据包,例如,您要捕获 IP 地址为 192.168.174.132 的数据包,请使用以下命令。


 
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 dst 192.168.174.132
  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分