ngrep

ngrep命令

常用工具命令

ngrep命令是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。

安装

ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用yum install libpcap完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。

如果yum无法安装就用以下步骤安装libpcap:

 http://www.tcpdump.org/release/libpcap-1.3.0..gz
tar -zxf libpcap-1.3.0.tar.gz libpcap-1.3.0
./configure && make install

ngrep的安装就是 configure/make/make install 三部曲。

注:configure时是遇到 please wipe out all unused pcap installations,添加以下选项:

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

在安装后输入ngrep来验证下安装是否成功。

语法

ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num>
<-s snaplen> <-S limitlen> <- normal|byline|single|none> <-c cols>
<-P char> <-F > <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  intervals
-t :在每个匹配的包之前显示时间戳
-T :显示上一个匹配的数据包之间的时间间隔
-M :仅进行单行匹配
-I :从文件中读取数据进行匹配
-O :将匹配的数据保存到文件
-n :仅捕获指定数目的数据包进行查看
-A :匹配到数据包后随后的指定数目的数据包
-s : 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选项查询
-L :查询网卡接口

实例

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

ngrep -W byline -d lo port 18080

捕捉amazon:80端口的request和response。-d eth0是用来监听对外的网卡:

ngrep -W byline -d eth0 port 80

可以用-d any来捕捉所有的包:

ngrep ‘[a-zA-Z]‘ -t -W byline -d any tcp port 18080

捕获字符串.flv,比如要查看在Web Flash 视频中的.flv文件的下载地址:

interface: \Device\TNT_40_1_{670F6B50-0A13-4BAB-9D9E-994A833F5BA9} (10.132.0.0/2
55.255.192.0)
match: \.flv

打开一个视频页面:

T(6) 10.132.34.23:24860 -> 61.142.208.154:80 [AP]
GET /f59.c31.56.com/flvdownload/12/19/[email protected]_56flv_zhajm_119556973
97.flv HTTP/1.1..: */*..Referer: http://www.56.com/flashApp/v_player_
site.swf..x-flash-version: 9,0,45,0..UA-CPU: x86..Accept-Encoding: , de
flate..User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 2.0.50727; .NET CLR 3.0.04506.30)..: f59.r.56.com..Connection: Keep
-Alive..Cookie: whistoryview=23423759-23635627-23423344-23171935-23058374-2
3081156-23207350-22395727-; geoip=............; wl_all_s=y....

OK。地址已经找到了,就是http://f59.c31.56.com/flvdownload/12/19/[email protected]_56flv_zhajm_11955697397.flv

加个-W byline参数后,将解析包中的换行符:

T(6) 2007/11/25 15:56:12.192619 10.132.34.23:26365 -> 59.151.21.101:80 [AP]
GET /aa.flv HTTP/1.1.
Accept: */*.
Accept-Language: zh-cn.
UA-CPU: x86.
Accept-Encoding: gzip, deflate.
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.5072
7; .NET CLR 3.0.04506.30).
Host: www.google.cn.
Connection: Keep-Alive.
Cookie: PREF==a0b2932c336477e9:TB=4:NW=1:TM=1187877372:LM=1187956074:S=Y1Fzndp
rT3vFo7ac; SID=DQAAAHcAAABJCEXeOVLHu2rIfb5BfKP3GG9PbhJDEkXsLTV8y0f_lvSd2Y46Q0FPt
83CnEs9rxA1xBDM9mLR8-ckWeScyOQA8PyYnX5u5OjFvjfRbDg_FDZfwxhRzqS9KPZv26pjnsUxs0FDM
1xpJ5AgDn38pXtlCdkksJ0-cbiIWoA61oHWMg; NID=7=AvJxn5B6YOLLxoYz4LLzhIbNsQUQiulRS6U
JGxdBniQBmXm99y7L-NBNORN82N3unmZSGHFPfePVHnLK2MjYjglyXZhU9x7ETXNBnY3NurNijHDhJ7K
yi7E53UBOcv4V.
时间: 2024-10-15 00:34:15

ngrep的相关文章

ngrep环回接口数据抓取方法,使用-d lo参数

ngrep环回接口数据抓取方法,使用-d lo参数,注意顺序: ngrep -W byline -d lo port 80

tcpdump和ngrep抓不到本机数据包

本机上运行server(nginx)和client(curl),用tcpdump tcp port 80命令抓不到数据包,原因是: 本地环回不经过以太网卡,在用tcpdump加参数 -i lo 来抓本地环回数据. ngrep环回接口数据抓取方法:使用-d lo参数,注意参数的顺序:ngrep -W byline -d lo port 80 注意ngrep使用port 80 而不是tcp port 80,如果用tcp port 80 则无法抓取到数据.

ngrep undefined symbol: pcap_restart 错误处理

[@bx_10_70 /opt/linuxshare/]# ngrep port 80 -W byline interface: eth0 (10.16.10.0/255.255.255.0) ngrep: symbol lookup error: ngrep: undefined symbol: pcap_restart [@bx_10_70 /opt/linuxshare/]# ldd /usr/sbin/ngrep linux-vdso.so.1 =>  (0x00007ffe918640

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 二:安装 ngr

ngrep命令用法

ngrep 是grep(在文本中搜索字符串的工具)的网络版,他力求更多的grep特征,用于搜寻指定的数据包.正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议.能识别TCP.UDP和ICMP包,理解bpf的过滤机制. 语法 1 2 3 ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num> <-s snaplen> <

88个 Linux 系统管理员必备的监控工具

随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的.下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具 1. top 这是一个被预装在许多 UNIX 系统中的小工具.当你想要查看在系统中运行的进程或线程时:t

黑客工具软件大全100套

黑客工具软件大全100套  ゴリラ大統領 2011-05-21 16:55:58 #1 Nessus:最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上.它不止永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance--终端用户授权协议).它的主要功能是远程或本地(已授权的)安全检查,客户端/服务器架构,GTK(Linux下的一种图形界面)图形界面,内置脚本语言编译器,可以用其编写自定义插件,或用来阅读别人

80 多个 Linux 系统管理员必备的监控工具

随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的.下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具 1. top 这是一个被预装在许多 UNIX 系统中的小工具.当你想要查看在系统中运行的进程或线程时:t

PHP输入流php://input

PHP输入流php://input 在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组.所以,这里主要探 讨php输入流php://input 对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述. "php://input allows you to read raw POST data. It is a less memory intensive alternative to$HTTP_RAW_