tcpdump示例和教程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、如何安装“tcpdump”
- 二、如何使用 tcpdump 捕获数据包:
- 过滤数据包以修复网络问题:
- 如何使用带有 tcpdump 命令的主机名捕获数据包:
- 如何使用带有 tcpdump 命令的端口号捕获数据包:
- 如何使用带有 tcpdump 命令的协议捕获数据包:
- 如何使用逻辑运算符组合筛选选项:
- 如何存储捕获的数据:
- 总结
前言
如果您的工作主要依赖互联网,那么网络问题就很常见。 解决和排除这些网络问题是一项具有挑战性的任务。 在这种情况下,“tcpdump”工具会发挥作用。
一、如何安装“tcpdump”
在许多发行版中,“tcpdump”是开箱即用的,要检查它,请使用:
which tcpdump
如果没有,请使用以下命令安装它:
sudo apt install tcpdump
上述命令将用于基于 Debian 的发行版,如 Ubuntu 和 LinuxMint。对于“Redhat”和“CentOS”,请使用:
sudo dnf install tcpdump
二、如何使用 tcpdump 捕获数据包:
可以使用各种接口来捕获数据包。要获取接口列表,请使用:
sudo tcpdump -D
或者简单地将“any”与“tcpdump”命令一起使用,以从活动接口获取数据包。要开始数据包捕获,请使用:
sudo tcpdump --interface any
上述命令正在跟踪来自所有活动接口的数据包。数据包将被持续抓取,直到用户中断 (ctrl-c)。
我们还可以使用表示“计数”的“-c”标志来限制要捕获的数据包数量。要捕获 3 个数据包,请使用:
sudo tcpdump -i any -c3
上述命令对于过滤特定数据包很有用。此外,对连接问题进行故障排除只需要捕获几个初始数据包。
“tcpdump”命令默认捕获具有IP和端口名称的数据包,但要清理,混乱并使输出更易于理解;可以使用端口选项的“-n”和“-nn”禁用名称:
sudo tcpdump -i any -c3 -nn
如上面的输出所示,IP 和端口名称已被取出。
过滤数据包以修复网络问题:
“tcpdump”工具捕获数百个数据包,其中大多数数据包的重要性较低,这使得获取所需的信息以进行故障排除变得更加复杂。在这种情况下,过滤将发挥其作用。例如,在对特定类型的流量不感兴趣进行故障排除时,您可以使用“tcpdump”对其进行过滤,该“tcpdump”根据 IP 地址、端口和协议过滤数据包。
如何使用带有 tcpdump 命令的主机名捕获数据包:
要仅从特定主机获取数据包,请使用:
sudo tcpdump -i any -c4 host 192.168.0.1
如果您只想获得单向流量,请使用“class="lazy" data-src”和“dst”选项代替“主机”。
如何使用带有 tcpdump 命令的端口号捕获数据包:
要使用端口号过滤数据包,请使用:
sudo tcpdump -i any -c3 -nn port 443
“443”是 HTTPS 端口号。
如何使用带有 tcpdump 命令的协议捕获数据包:
使用“tcpdump”命令,您可以根据任何协议过滤数据包,例如udp,icmp,arp等。只需键入协议名称:
sudo tcpdump -i any -c6 udp
上述命令将仅捕获属于“udp”协议的数据包。
如何使用逻辑运算符组合筛选选项:
可以使用逻辑运算符(如“和/或”)组合不同的过滤选项:
sudo tcpdump -i any -c6 -nn host 10.0.2.15 and port 443
如何存储捕获的数据:
抓取的数据可以保存到文件中以便以后监控,并且将使用“-w”选项,并且“w”表示“写入”:
sudo tcpdump -i any -c5 -w packetData.pcap
该文件的扩展名是“.pcap”,代表“数据包捕获”。捕获完成后,文件将保存在本地驱动器中。此文件无法使用任何文本编辑器程序打开或读取。要读取它,请使用带有“tcpdump”的“-r”标志:
tcpdump -r packetData.pcap
总结
“tcpdump”是一种有价值且灵活的工具,用于捕获和分析网络流量以解决网络问题。本指南的重点是了解“tcpdump”命令行实用程序的基本和高级用法。但是,如果您觉得这很困难,那么有一个不太复杂的基于 GUI 的程序称为“Wireshark”,它执行几乎相同的工作,但具有各种附加功能。
来源地址:https://blog.csdn.net/m0_54471074/article/details/128691596
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341