Linux网络抓包工具ngrep命令安装及使用介绍

网络抓包 2023-05-21 1003次浏览

前言

不少做开发的同学,经常要验证一些数据请求包、网络传输的正确性及内容分析,应该对网络抓包都不陌生。ngrep是Linux的一个网络抓包工具,跟tcpdump类似,可以用来侦听各端口的数据流入和流出。
由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。

ngrep安装

# ngrep安装之前,首先在服务器安装libpacp
yum install libpcap libpcap-devel -y

# 由于依赖libpacp库,所以支持大量的操作系统和网络协议
yum  install  ngrep

安装之后输入ngrep -V验证是否验证成功,如下图展示,说明安装成功了!

Linux网络抓包工具ngrep命令安装及使用介绍

语法

ngrep <-hNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num>
             <-s snaplen> <-S limitlen> <-W normal|byline|single|none> <-c cols>
             <-P char> <-F file>             <-K count>
             <match expression> <bpf filter>

参数说明

参数项 说明
-e 显示空数据包
-i 忽略大小写
-v 反转匹配
-R don't do privilege revocation logic
-x 以16进制格式显示
-X 以16进制格式匹配
-w 整字匹配
-p 不使用混杂模式
-l make stdout line buffered
-D replay pcap_dumps with their recorded time intervals
-t 在每个匹配的包之前显示时间戳
-T 显示上一个匹配的数据包之间的时间间隔
-M 仅进行单行匹配
-I 从文件中读取数据进行匹配
-O 将匹配的数据保存到文件
-n 仅捕获指定数目的数据包进行查看
-A 匹配到数据包后dump随后的指定数目的数据包
-s set the bpf caplen
-S set the limitlen on matched packets
-W 设置显示格式byline将解析包中的换行符
-c 强制显示列的宽度
-P set the non-printable display char to what is specified
-F 使用文件中定义的bpf(Berkeley Packet Filter)
-N 显示由IANA定义的子协议号
-d 使用哪个网卡,可以用
-L 查询网卡接口

示例

# 捕捉10.185.172.70机器IP的request和response,`-W byline`用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。`-d eth0` 用来监听网卡
ngrep -d eth0 -q '2771122141' -W byline src 10.185.172.70

# 捕捉80端口的request和response
ngrep -W byline -d eth0 port 80

# 可以用-d any来捕捉所有的包
ngrep '[a-zA-Z]' -t -W byline -d any tcp port 8088

拓展

环回接口处理IP数据报的过程

环回接口处理IP数据报的过程

结语

以上是Linux网络抓包工具ngrep命令安装及使用介绍,希望能帮助到需要的同学,更多文章请关注本站其他内容,感谢!

Linux网络抓包工具ngrep命令安装及使用介绍

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址