Tcpdump Record

tcpdump是一个强大的网络抓包工具,它可以将网络中传送的数据包的"头"完全截获下来提供分析。以下是对tcpdump抓包命令的详解:

一 基础选项

  1. -i:指定接口。可以使用tcpdump -D命令显示对应的系统的网口,然后在-i后面指定网络接口进行抓包。如果要抓取所有接口的消息,可以使用-i any
  2. -D:列出可用于抓包的接口。
  3. -s:指定数据包抓取的长度。
  4. -c:指定要抓取的数据包的数量。在收到指定数量的分组后,tcpdump就会停止。
  5. -w:将抓包数据保存在文件中。
  6. -r:从文件中读取数据。
  7. -C:指定文件大小,与-w配合使用。在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数中指定的大小。
  8. -F:从文件中读取抓包的表达式,忽略命令行中给出的表达式。
  9. -n:不解析主机和端口号。这个参数很重要,一般都需要加上。
  10. -P:指定要抓取的包是流入还是流出的包,可以指定的值有in、out、inout。

二 输出选项

  1. -e:在输出行打印出数据链路层的头部信息。
  2. -t:显示时间戳。使用tttt可以显示更详细的时间。
  3. -X:显示十六进制格式。
  4. -v:显示详细的报文信息。使用vvv可以显示更详细的信息,v越多显示越详细。

三 过滤表达式

tcpdump的强大功能和灵活的策略主要体现在过滤器(BPF)强大的表达式组合能力。例如,proto表示协议,可选的协议有ether、ip、ip6、arp、icmp、tcp、udp等。

例如,tcpdump -i eth0 -n -c 8 icmp命令会指定eth0接口,关闭反查dns,并抓取8个icmp消息后自动结束抓包。

以上就是tcpdump抓包命令的详细解释,希望对你有所帮助。如果需要更详细的信息,建议查阅tcpdump的官方文档或相关教程。

-n 参数在 tcpdump 命令中的意思是"不解析主机名和端口号"。这意味着,当 tcpdump 捕获到数据包时,它不会尝试将数据包中的 IP 地址和端口号解析为相应的主机名和服务名。

在默认情况下,tcpdump 会尝试将 IP 地址和端口号解析为更容易理解的主机名和服务名(如通过 DNS 查询)。但是,这种解析过程可能会增加 tcpdump 的输出延迟,并可能由于 DNS 问题而导致不准确的输出。

因此,在很多情况下,用户会添加 -n 参数来禁用这种解析过程,从而提高 tcpdump 的效率和准确性。特别是当网络流量很大,或者用户更关心 IP 地址和端口号本身而不是它们对应的主机名和服务名时,-n 参数就显得尤为重要了。

总的来说,-n 参数可以帮助用户更快地获取 tcpdump 的输出,并避免由于 DNS 解析而引入的潜在问题。

tcpdump命令中,hostdstsrc等配置项用于指定要捕获的数据包的地址和端口。以下是这些配置项的解释:

  1. host
    • host <hostname_or_ip>:捕获所有发往或来自指定主机(由主机名或IP地址指定)的数据包。
    • 例如:tcpdump host 192.168.1.1 将捕获所有发往或来自IP地址192.168.1.1的数据包。
  2. src
    • src <hostname_or_ip>:仅捕获来自指定源地址(由主机名或IP地址指定)的数据包。
    • 例如:tcpdump src 192.168.1.1 将仅捕获源IP地址为192.168.1.1的数据包。
  3. dst
    • dst <hostname_or_ip>:仅捕获发往指定目标地址(由主机名或IP地址指定)的数据包。
    • 例如:tcpdump dst 192.168.1.1 将仅捕获目标IP地址为192.168.1.1的数据包。
  4. port
    • port <port_number>:捕获所有发往或来自指定端口的数据包。
    • 例如:tcpdump port 80 将捕获所有发往或来自80端口(通常是HTTP服务的端口)的数据包。
  5. net
    • net <network_address>:捕获指定网络地址的数据包。可以使用CIDR表示法(如192.168.1.0/24)来指定网络地址和子网掩码。
    • 例如:tcpdump net 192.168.1.0/24 将捕获所有在192.168.1.0/24网络中的数据包。

这些配置项可以单独使用,也可以组合使用来定义更复杂的过滤条件。例如,tcpdump src 192.168.1.1 and dst port 80 将仅捕获源IP地址为192.168.1.1且目标端口为80的数据包。

另外,你还可以使用逻辑操作符(如andornot)来组合这些配置项,以实现更复杂的过滤需求。

tcpdump -i any port 25070 -w xxx.pcap -vvn

tcpdump -i any host 10.100.3.59 -w xxx.pcap -vvn

相关推荐
玖玥拾2 分钟前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
大师兄66686 分钟前
HarmonyOS7 HTTP 网络请求封装:统一拦截器实战
网络·网络协议·http·arkui·harmonyos7·实战讲解
hbugs00128 分钟前
BPF 表达式检查器:一款免费开源的 Wireshark 捕获过滤器语法检查与可视化构建工具
网络·测试工具·开源·eve-ng·bpf
韩曙亮34 分钟前
【Flutter】iOS 网络权限设置 ② ( 配置 iOS 平台可使用 HTTP 访问 | ATS 网络安全强制规范 )
网络·flutter·http·ios·https·网络权限·ats
tiantianuser1 小时前
NVME-oF IP 设计1 :为什么要设计它?
网络·网络协议·rdma·roce v2·nvme of
笨鸟先飞的橘猫1 小时前
skynet——网络模块学习
网络·学习·skynet
kyle~1 小时前
Linux---Snap(隔离式Linux 软件分发范式)
linux·运维·网络
pt10432 小时前
思科网络自动化入门课程介绍
运维·网络·自动化
CHENKONG_CK11 小时前
晨控CK-FR102ANS-EIP与基恩士KVX520系列PLC配置EtherNet/IP通讯连接手册
网络
草根站起来12 小时前
“双算法SSL证书”伪方案、国产SSL证书营销话术与等保绑定乱象批判
网络·网络协议·ssl