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:

wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz

tar -zxf libpcap-1.3.0.tar.gz

cd libpcap-1.3.0

./configure

make && 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

选项

-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选项查询

-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文件的下载地址:

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

打开一个视频页面:

T(6) 10.132.34.23:24860 -> 61.142.208.154:80 [AP]

GET /f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_119556973

97.flv HTTP/1.1..accept: */*..Referer: http://www.56.com/flashApp/v_player_

site.swf..x-flash-version: 9,0,45,0..UA-CPU: x86..Accept-Encoding: gzip, 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)..host: f59.r.56.com..Connection: Keep

-Alive..Cookie: whistoryview=23423759-23635627-23423344-23171935-23058374-2

3081156-23207350-22395727-; geoip=............; wl_all_s=y....

加个-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=id=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.

linux中的ul命令,Linux ngrep 命令用法详解-Linux命令大全(手册)相关推荐

  1. linux中的su-命令的功能,linux su命令参数及用法详解(linux切换用户命令)

    linux su命令参数及用法详解(linux切换用户命令) 发布时间:2012-07-21 12:12:39   作者:佚名   我要评论 su的作用是变更为其它使用者的身份,超级用户除外,需要键入 ...

  2. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

  3. linux中替换命令详解,linux中sed命令字符串替换的用法详解

    Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...

  4. linux中whoami命令的作用是,linux whoami命令参数及用法详解(linux查看登陆用户名)

    linux whoami命令参数及用法详解(linux查看登陆用户名) 2019年05月31日 | 萬仟网科技 | 我要评论 whoami 命令显示登录名.与使用命令 who 并指定 am i 不同, ...

  5. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  6. 【linux】——linux ls命令参数及用法详解---linux显示目录内容命令

    linux系统中ls命令的用法详解 ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. ...

  7. linux 内存 参数,linux free命令参数及用法详解(linux查看内存命令)

    linux free命令参数及用法详解(linux查看内存命令) 2019年05月31日 | 萬仟网科技 | 我要评论 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段 ...

  8. linux 的中断 命令,linux skill命令参数及用法详解(linux中断进程执行命令)

    linux skill命令参数及用法详解(linux中断进程执行命令) 发布时间:2012-07-21 12:09:37   作者:佚名   我要评论 linux 冻结进程命令 skill 使用详解 ...

  9. linux命令优先级设置,linux renice命令参数及用法详解(linux修改程序运行优先级命令)...

    linux renice命令参数及用法详解(linux修改程序运行优先级命令) 发布时间:2012-07-21 12:45:32   作者:佚名   我要评论 renice指令可重新调整程序执行的优先 ...

  10. npm命令--安装依赖包--用法/详解

    原文网址:npm命令--安装依赖包--用法/详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍npm如何安装依赖包. 用法 命令 作用 详述 npm install <pkg> //同 ...

最新文章

  1. 是时候开始使用JavaScript严格模式了怎样启用javascri
  2. [转] apache2: bad user name ${APACHE_RUN_USER}
  3. ASP.NET MVC 1.0 转化为ASP.NET MVC 2.0的方法
  4. 10分钟让你完全理解观察者模式
  5. valgrind 报告 ecpg内存泄露 (三)
  6. usb协议规范_你想了解的USB知识,都在这里了!
  7. dbcp连接池配置详解_JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)
  8. c语言指针选择排序1,求助利用指针进行选择排序
  9. qt实现点击出现窗口,点击其他任何地方窗口消失
  10. VMware unlocker解锁步骤
  11. MySQL数据库中防止SQL注入、防止脱库
  12. 三菱f800变频器 频率设定_三菱F800变频器调试参数总结 -
  13. 如何在MapGIS中打开卫星影像
  14. 豆瓣8.0高分电影~渣男人格之《剧场》追剧后感
  15. 红蜘蛛多媒体软件怎么停---超简单
  16. 感恩—父亲节、母亲节由来及日期
  17. 古代的时辰是怎样划分的
  18. Netty In Action中文版 - 第二章:第一个Netty程序
  19. A1008 Elevator (20分)
  20. 计算机毕业设计ssm农贸市场摊位管理系统c22ux系统+程序+源码+lw+远程部署

热门文章

  1. python数据精度_python数字精度
  2. 高度坍塌的几种解决方法
  3. 基于eTS高效开发HarmonyOS课程类应用
  4. Java课程设计答辩之感想
  5. 《互联网时代》第五集 崛起
  6. EXCEL单元格内怎么换行?Alt+Enter
  7. [HR面试] 65个最常见的面试问题与技巧性答复
  8. 极盾科技荣获2021年梦想小镇7周年“脉冲星奖”
  9. MySQL Audit 审计
  10. 史上最暴强老纳和师太-----全集!