Linux之tcpdump

tcpdump 是一个常用的网络数据包分析工具,用于在命令行中捕获、分析和显示网络通信的细节。它可以帮助网络管理员、开发者、系统管理员以及安全专家分析网络流量,排查网络故障,甚至进行网络攻击的检测。它支持多种协议分析,可以过滤和显示特定类型的网络数据包。

tcpdump yum源安装(cenots为例):

yum install -y tcpdump

常用参数:

-i 指定接口抓包,例tcpdump -i eth0

-n 选项:禁止域名解析,但默认情况下会解析常见服务的端口名称(如 ssh 显示为 .ssh)。

显示端口号数字:使用 -nn 选项,tcpdump 会显示端口号的数字格式,而不是服务名称。(显示原始的 IP 地址和端口)

-v 显示更详细的包信息。

-c count:捕获 count 个数据包后停止。

-w file:将捕获的包写入指定的文件。

-X:以十六进制和 ASCII 格式显示每个数据包的内容(每行显示 16 字节)。

-XX:以十六进制和 ASCII 格式显示每个数据包的内容,但每行显示更多的字节(通常是 32 字节)。

-A 选项的作用是以ASCII格式打印数据包的内容。

常用操作:

指定协议抓取icmp包–proto过滤器,proto后面可以跟上协议号或协议名称,支持 icmp, igmp, igrp, pim, ah, esp, carp, vrrp, udp和 tcp。

tcpdump -i <接口名> -vnn proto \\icmp

指定ip抓包:

tcpdump -i <接口名> -vnn host <x.x.x.x>

指定端口抓包:

tcpdump -i <接口名> -vnn port <xx>

指定ip和端口抓包:

tcpdump -i <接口名> -vnn host <x.x.x.x> and port <xx>

tcpdump更详细的其实可以忽略,我们可以使用tcpdump在Linux上抓包并保存到文件,将.pcap 文件传输到 Windows 系统,在Windows上使用 Wireshark 分析抓取的包。

wireshark根据包内容筛选:

查找包含特定 string 的数据帧: frame contains “xxx”

查找包含特定16进制的数据帧: tcp contains 92:00:00

扫码访问小程序中的本文

微信小程序二维码

发表评论

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

滚动至顶部