ngrep 命令介绍和使用案例
ngrep 是一个用于网络数据包捕获和过滤的工具,类似于 grep 命令,但专注于网络流量。它能够识别 TCP、UDP 和 ICMP 协议,并允许用户通过正则表达式过滤特定的数据包。ngrep 的设计使其在分析和定位网络问题时非常有用
安装部署
基本语法
ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num> <-s snaplen> <-S limitlen> <-w normal|byline|single|none> <-c cols> <-P char> <-F file>
常用选项
-d dev
: 指定要监听的网络接口。-W byline
: 以行格式输出数据包,便于阅读。-A num
: 在匹配到数据包后,显示后续的指定数量的数据包。-e
: 显示空数据包。-i
: 忽略大小写匹配。-v
: 反转匹配,即显示不匹配的内容。
使用案例
1. 抓取特定主机的 UDP 包
sudo ngrep host 192.168.1.8 udp
此命令将捕获与主机 192.168.1.8 的所有 UDP 数据包。
2. 抓取特定端口的 UDP 包并过滤内容
sudo ngrep -W byline -qd any '.event' udp port 1514
这个命令将抓取 UDP 1514 端口的数据包,并仅显示包含 .event
的行。
3. 捕获 HTTP 请求并统计请求头长度
sudo ngrep -W byline 'GET /' 'tcp and dst port 80' -d eth1 | awk -v RS="#+" -v FS="\n" 'length() > 1000'
该命令将捕获目标端口为 80 的 HTTP GET 请求,并使用 awk 筛选出请求头长度大于 1000 字节的请求。
4. 抓取本地网卡与特定 IP 的通信信息
sudo ngrep -d en0 -W byline host 192.168.1.9
此命令将抓取本地网卡 en0
与 IP 地址为 192.168.1.9 的通信信息,并以行格式输出。
标签:UDP,byline,命令,抓取,192.168,案例,ngrep,数据包 From: https://blog.csdn.net/lisanmengmeng/article/details/145037535