常用的网络抓包工具

tcpdump

特点

  • 轻量级命令行工具,适合简单的抓包分析。
  • 默认大多数 Linux 系统都会预装。

常用命令

安装

yum install tcpdump -y
tcpdump -i eth0  # 抓取所有流量
tcpdump -i eth0 port 80  # 抓取特定端口流量
tcpdump -i eth0 -w capture.pcap # 保存抓包到文件
tcpdump -r capture.pcap  # 读取保存的抓包文件

使用

通常在客户端访问 服务端 出现网络异常
在客户端长ping或者其他方式,在服务器端使用tcpdump抓取对应流量包

比如抓取eth0网卡下8080端口流量包,生成8080_client.pcap文件:

tcpdump -i eth0 host <客户端IP> and port 8080 -w 8080_client.pcap

Wireshark

特点

  • 图形界面工具,功能强大,适合详细分析。
  • 支持多种协议解析,配合过滤规则使用效果更佳。

windows安装使用

官方下载
https://www.wireshark.org/download.html
在这里插入图片描述
安装后使用
打卡软件,进入开始界面,Wireshark直接抓取本机网卡的网络流量
在这里插入图片描述
选择网卡 双击进入WLAN 无线网卡开始抓包。左上角有停止按钮
在这里插入图片描述

  • No.:Number的缩写,是Wireshark对所捕获包进行的标号,并非数据包自带;
  • Time:捕获数据包的精确时间,可以在“视图”->“时间显示格式”中去设置(也可以选中任一数据包点鼠标右键设置),默认是“Seconds Since First Captured Packet”,即抓到的第一个包开始计时。
  • Source:原IP地址。默认只显示地址,要显示名字信息可在“首选项”的“Name Resolution”里面进行设置。
  • Destination:目标IP地址。
  • Length:数据包的长度。
  • Info:该数据包的摘要信息,是Wireshark解析后提供的分析信息。

结合tcpdump使用

通常linux服务器使用tcpdump 生成.pcap文件,通过Wireshark 读取.pcap 文件

tcpdump -i eth0 -w capture.pcap

在这里插入图片描述

打开服务器下载下来的capture.pcap 文件

在这里插入图片描述

捕获过滤器

捕获过滤器在数据包捕获之前设置,能大幅减少捕获的数据量。

常用语法

host 192.168.1.1  #仅捕获与 IP 地址 192.168.1.1 相关的数据包。
net 192.168.1.0/24  #捕获与子网 192.168.1.0/24 相关的数据包。
port 80   #捕获与端口 80 (HTTP) 相关的数据包。
src host 192.168.1.1   #捕获源地址为 192.168.1.1 的数据包。
dst host 192.168.1.1   #捕获目标地址为 192.168.1.1 的数据包。
tcp   #仅捕获 TCP 协议数据包。
udp    #仅捕获 UDP 协议数据包。
icmp   #仅捕获 ICMP 数据包(如 ping)。
ether host aa:bb:cc:dd:ee:ff  #仅捕获与指定 MAC 地址相关的数据包。

示例

tcp port 80  #捕获 HTTP 流量
udp and net 192.168.1.0/24  #捕获来自特定子网的 UDP 数据包
tcp port 443 or udp port 53   #捕获 HTTPS 和 DNS 流量

显示过滤器

显示过滤器用于分析捕获后的数据包,提供更细粒度的筛选。

常用语法

ip.addr == 192.168.1.1   #筛选 IP 地址为 192.168.1.1 的数据包。
ip.src == 192.168.1.1  #筛选源 IP 地址为 192.168.1.1 的数据包。
ip.dst == 192.168.1.1  #筛选目标 IP 地址为 192.168.1.1 的数据包。
tcp.port == 80  #筛选 TCP 端口为 80 的数据包。
udp.port == 53  #筛选 UDP 端口为 53 的数据包。

源地址IP为10.0.0.8 的数据包

ip.src ==10.0.0.8

在这里插入图片描述

组合条件

ip.src == 192.168.1.1 and tcp.port == 80  #筛选源 IP 为 192.168.1.1 且目标端口为 80 的数据包。
http or dns  #筛选 HTTP 或 DNS 流量。
!(ip.addr == 192.168.1.1) #排除 IP 地址为 192.168.1.1 的数据包。

小技巧

  • 按条件高亮:右键某条流量,选择“Apply as Filter”快速生成过滤条件。
  • 使用书签:常用过滤条件可以保存为书签,方便复用。
  • 流量统计:使用“统计 > 协议层次结构”查看流量分布。

linux 安装

安装

yum install wireshark -y

使用,启动图形界面

wireshark

命令行版本 tshark:

tshark -v #查看版本
tshark -i eth0  # 抓取eth0流量,默认显示实时抓取的所有数据包

将数据包保存到文件以供后续分析:

tshark -i eth0 -w capture.pcap

读取 .pcap 文件并解析数据包:

tshark -r capture.pcap

列出所有接口

tshark -D  

在这里插入图片描述

nload

  • 实时监控网络流量,可视化流量信息。
  • 不支持抓取具体的数据包,但适合快速查看流量概况。

安装

yum install nload -y

使用

nload

iftop

  • 实时显示网络连接和流量,可帮助快速识别高流量连接。
  • 不支持数据包的详细分析。

安装

yum install iftop -y

使用

iftop
iftop -i eth0 -P
-P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

ngrep

  • 类似于 grep,但用于网络包数据,支持基于内容的过滤。

安装

yum install ngrep

使用,抓取HTTP流量

ngrep -d eth0 'GET|POST' port 80

nmap

  • 主要用于网络扫描和安全分析,但也可以用来检测网络通信。
yum install nmap -y

使用

nmap -A 目标IP

tcping

下载

方法一:直接下载可执行文件(Windows)

https://elifulkerson.com/projects/tcping.php

在这里插入图片描述
将下载好的tcping.exe程序复制到C:\Windows\System32目录下。
在这里插入图片描述

方法二:使用 PowerShell 模块
Windows 环境下可以用 PowerShell 脚本实现类似功能:

Install-Module -Name Tcping

方法三:Linux 下安装

sudo apt install tcping     # Ubuntu/Debian
sudo yum install tcping     # CentOS/Red Hat

使用

运行 tcping 持续测试端口连通性,观察响应时间波动

tcping <目标IP或域名> <端口号>
tcping 172.20.10.32 3389

在这里插入图片描述

指定重复次数

tcping -n <次数> <目标IP或域名> <端口号>
tcping -n 5 192.168.1.1 80

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值