ngrep 比 tcpdump 更方便查看的抓包显示工具

ngrep 是grep(在文本中搜索字符串的工具)的网络版,他力求更多的grep特征,
用于搜寻指定的数据包

一: ngrep的安装 CentOS6.2 64位

wget http://nchc.dl.sourceforge.net/sourceforge/ngrep/ngrep-1.45.tar.bz2

下载下来是一个 bz2的包, 用bzip2命令加压成tar包,在用tar解压

bzip2 -d ngrep-1.45.tar.bz2

  tar xf ngrep-1.45.tar

二:安装 ngrep

cd 进入目录 ngrep-1.45

./cofigure

  make

  make install

三:我这样安装的时候报错了, 如下:

或者是这样的错误:

看错误说明,系统缺少 libpacp的包,那么yum安装 libpacp,

yum install libpcap libpcap-devel -y

重新安装ngrep

./configure --with-pcap-includes=/usr/local/include/pcap

make

make install

注意加上红色的部分,这样才正确的安装了

四:使用 http://blog.sina.com.cn/s/blog_4d14fb2b01012tqo.html

使用方法:()
usage: 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> <match expression> <bpf filter>
-h is help/usage
-V is version information
-q is be quiet (don‘t print packet reception hash marks)静默模式,如果没有此开关,未匹配的数据包都以“#”显示
-e is show empty packets 显示空数据包
-i is ignore case 忽略大小写
-v is invert match 反转匹配
-R is don‘t do privilege revocation logic
-x is print in alternate hexdump format 以16进制格式显示
-X is interpret match expression as hexadecimal 以16进制格式匹配
-w is word-regex (expression must match as a word) 整字匹配
-p is don‘t go into promiscuous mode 不使用混杂模式
-l is make stdout line buffered
-D is replay pcap_dumps with their recorded time intervals
-t is print timestamp every time a packet is matched在每个匹配的包之前显示时间戳
-T is print delta timestamp every time a packet is matched显示上一个匹配的数据包之间的时间间隔
-M is don‘t do multi-line match (do single-line match instead)仅进行单行匹配
-I is read packet stream from pcap format file pcap_dump 从文件中读取数据进行匹配
-O is dump matched packets in pcap format to pcap_dump 将匹配的数据保存到文件
-n is look at only num packets 仅捕获指定数目的数据包进行查看
-A is dump num packets after a match匹配到数据包后Dump随后的指定数目的数据包
-s is set the bpf caplen
-S is set the limitlen on matched packets
-W is set the dump format (normal, byline, single, none) 设置显示格式byline将解析包中的换行符
-c is force the column width to the specified size 强制显示列的宽度
-P is set the non-printable display char to what is specified
-F is read the bpf filter from the specified file 使用文件中定义的bpf(Berkeley Packet Filter)
-N is show sub protocol number 显示由IANA定义的子协议号
-d is use specified device (index) instead of the pcap default 使用哪个网卡,可以用-L选项查询
-L is show the winpcap device list index 查询网卡接口

五:应用示例:

1:捕获字符串".flv",比如要查看在Web Flash 视频中的flv文件的下载地址
ngrep -d3 -N -q \.flv
interface: \Device\TNT_40_1_{670F6B50-0A13-4BAB-9D9E-994A833F5BA9} (10.132.0.0/2
55.255.192.0)
match: \.flv

2:ngrep -W byline -d lo port 18080
捕捉cloudian:18080端口的request和response。-W byline用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。-d lo是监听本地网卡
ngrep -W byline -d eth0 port 80
捕捉amazon:80端口的request和response。-d eth0 是用来监听对外的网卡

3:可以用-d any来捕捉所有的包,这个很管用。
ngrep ‘[a-zA-Z]‘ -t -W byline -d any tcp port 18080

以下部分使用来自 这里:http://blog.58share.com/?p=37

4:ngrep -W byline -d lo port 18080 
捕捉cloudian:18080端口的request和response。
-W byline : 用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。
-d lo  : 是监听本地网卡

5:ngrep -W byline -d eth0 port 80
捕捉amazon:80端口的request和response。
-d eth0:  是用来监听对外的网卡
可以用-d any来捕捉所有的包,这个很管用。

6:ngrep ‘[a-zA-Z]‘ -t -W byline -d any tcp port 18080 
抓取header头信息

ngrep 比 tcpdump 更方便查看的抓包显示工具

时间: 2024-08-10 12:27:05

ngrep 比 tcpdump 更方便查看的抓包显示工具的相关文章

抓包分析工具—tcpdump

tcpdump(dump the traffic on a network)是一款在Unix下一款比较实用的一款用于分析数据包的工具,它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句.布尔表达式对报文的报头匹配,在linux系统下如果未安装可以通过yum来安装,不过要注意的是在使用需要相应的权限: 对于SunOS 的nit或bpf界面: 要运行tcpdump , 必须有/dev/nit或/dev/bpf* 的读访问权限; 对于Solaris的dlpi: 必须有

用Web抓包分析工具Livepool 实现本地替换开发

这是官方的介绍: LivePool 是一个基于 NodeJS,类似 Fiddler 支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷的 WorkFlow 以及调试方案. 功能特性还挺多: 基于 NodeJS, 跨平台 支持 http 抓包和本地替换调试,Https/WebSockets 直接代理转发(暂不支持本地替换) 便捷的 UI 管理界面,跟 Fiddler 类似,降低学习成本 可以脱离 UI 后台运行,适应于某些不需要抓包

charles抓包显示乱码解决方法

[问题现象] 在抓https协议请求时,Request和Response显示乱码了: [解决办法] 第一步:点击 [工具栏-->Proxy-->SSL Proxying Settings...] 第二点:添加需求抓包的请求的域名和端口号: 重新抓包,Request显示正常: PS: 问题解决起来并没有太复杂,不过在网上搜索的资料试过很多都没有起做用,遂在此做个记录.

APP抓包——Fiddler工具

Fiddler 简介:Fiddler 是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. Fiddler的运行机制其实就是本机上监听8888端口的http代理.对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome 网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的htt

Charles - 接口抓包分析工具

Charles是一个HTTP代理服务器,反转代理服务器,HTTP监视器.它允许一个开发者查看所有连接互联网的HTTP通信,包括request. response现HTTP headers (包含cookies与caching信息). 下载:  http://www.charlesproxy.com/ 本教程适合,有局域网WIFI情况下,无需使用百度WIFI工具. 使用方法: 1.选择系统对应软件包,进行安装; 2.启动应用,进行代理ip绑定设置,Proxy ->  Proxy Settings

Mac前端抓包小工具Charles4.0下载

链接: https://pan.baidu.com/s/1skPxdNJ 密码: 7iwp 使用方法:安装完主程序后,将dmg包里charles.jar拖至/Applications/Charles.app/Contents/Java/里替换原来的charles.jar 然后打开程序,点击上面的菜单栏,Help -> Register Charles...,输入如下注册信息Name:未来软件园 Key:www.orsoon.com OK,完毕!亲测好用.

Linux抓包工具:tcpdump

tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由于它是命令行工具,因此适用于在远程服务器或者没有图形界面的设备中收集数据包以便于事后分析.它可以在后台启动,也可以用 cron 等定时工具创建定时任务启用它. 本文中,我们将讨论 tcpdump 最常用的一些功能. 1.在 Linux 中安装 tcpdump tcpdump 支持多种 Linux 发

tcpdump教程 - 从命令行抓取和分析数据包

前言 在介绍和使用tcpdump之前,请确保您已经掌握或者了解如下几个关键概念,否则后面的内容让你有点痛苦. 能够在Linux命令行下工作 理解OSI七层网络协议的概念 熟悉各层的协议头部,重点是IP/TCP/UDP 交换机和路由器对应于OSI的协议层 另外还需要注意的是: tcpdump是基于Unix系统的命令行式的数据包嗅探工具.如果要使用tcpdump抓取其他主机MAC地址的数据包,必须开启网卡混杂模式,所谓混杂模式,用最简单的语言就是让网卡抓取任何经过它的数据包,不管这个数据包是不是发给

[转]Linux操作系统tcpdump抓包分析详解

PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具.tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息.因此系统中存在网络分析工具主要不是对本