Linux中ngrep命令怎么用
Linux中ngrep命令怎么用
这篇文章给大家分享的是有关Linux中ngrep命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Linux常用命令ngrep命令 是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。
ngrep
方便的数据包匹配和显示工具
补充说明
正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。
安装
ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用yum install libpcap完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。
如果yum无法安装就用以下步骤安装libpcap:
wgethttp://www.tcpdump.org/release/libpcap-1.3.0.tar.gztar-zxflibpcap-1.3.0.tar.gzcdlibpcap-1.3.0./configuremake&&makeinstall
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'tdoprivilegerevocationlogic-x#以16进制格式显示-X#以16进制格式匹配-w#整字匹配-p#不使用混杂模式-l#makestdoutlinebuffered-D#replaypcap_dumpswiththeirrecordedtimeintervals-t#在每个匹配的包之前显示时间戳-T#显示上一个匹配的数据包之间的时间间隔-M#仅进行单行匹配-I#从文件中读取数据进行匹配-O#将匹配的数据保存到文件-n#仅捕获指定数目的数据包进行查看-A#匹配到数据包后dump随后的指定数目的数据包-s#setthebpfcaplen-S#setthelimitlenonmatchedpackets-W#设置显示格式byline将解析包中的换行符-c#强制显示列的宽度-P#setthenon-printabledisplaychartowhatisspecified-F#使用文件中定义的bpf(BerkeleyPacketFilter)-N#显示由IANA定义的子协议号-d#使用哪个网卡,可以用-L选项查询-L#查询网卡接口
实例
捕捉cloudian:18080端口的request和response,-W byline用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。-d lo是监听本地网卡:
ngrep-Wbyline-dloport18080
捕捉amazon:80端口的request和response。-d eth0是用来监听对外的网卡:
ngrep-Wbyline-deth0port80
可以用-d any来捕捉所有的包:
ngrep'[a-zA-Z]'-t-Wbyline-danytcpport18080
捕获字符串.flv,比如要查看在Web Flash 视频中的.flv文件的下载地址:
ngrep-d3-N-q\.flvinterface:\Device\TNT_40_1_{670F6B50-0A13-4BAB-9D9E-994A833F5BA9}(10.132.0.0/255.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_11955697397.flvHTTP/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,deflate..User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;.NETCLR2.0.50727;.NETCLR3.0.04506.30)..host:f59.r.56.com..Connection:Keep-Alive..Cookie:whistoryview=23423759-23635627-23423344-23171935-23058374-23081156-23207350-22395727-;geoip=............;wl_all_s=y....
OK。地址已经找到了,就是http://f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_11955697397.flv
加个-W byline参数后,将解析包中的换行符:
T(6)2007/11/2515:56:12.19261910.132.34.23:26365->59.151.21.101:80[AP]GET/aa.flvHTTP/1.1.Accept:*/*.Accept-Language:zh-cn.UA-CPU:x86.Accept-Encoding:gzip,deflate.User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;.NETCLR2.0.50727;.NETCLR3.0.04506.30).Host:www.google.cn.Connection:Keep-Alive.Cookie:PREF=id=a0b2932c336477e9:TB=4:NW=1:TM=1187877372:LM=1187956074:S=Y1FzndprT3vFo7ac;SID=DQAAAHcAAABJCEXeOVLHu2rIfb5BfKP3GG9PbhJDEkXsLTV8y0f_lvSd2Y46Q0FPt83CnEs9rxA1xBDM9mLR8-ckWeScyOQA8PyYnX5u5OjFvjfRbDg_FDZfwxhRzqS9KPZv26pjnsUxs0FDM1xpJ5AgDn38pXtlCdkksJ0-cbiIWoA61oHWMg;NID=7=AvJxn5B6YOLLxoYz4LLzhIbNsQUQiulRS6UJGxdBniQBmXm99y7L-NBNORN82N3unmZSGHFPfePVHnLK2MjYjglyXZhU9x7ETXNBnY3NurNijHDhJ7Kyi7E53UBOcv4V.
感谢各位的阅读!关于“Linux中ngrep命令怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
linux怎么搭建ftp服务器(linux ftp命令)
linuxftp命令?很欢喜问本问题,此观点祝你好运吧!再连接ftp服务器。格式:ftp[hostname|ip-address...
-
linux怎么调出屏幕键盘(linux | 怎么打出来,管道符号怎么打)
linux|怎么打出来,管道符号怎么打?楼主,你好!“|”这个符号在linux环境称做“管道符”框输入方法:Shift键盘的“...
-
linux系统生成core文件(linux udp缓存配置)
linuxudp缓存配置?临时再添加:sysctl-w_max26214400无限制再添加:将以下行添加到中:_max26214...
-
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
-
干了10多年的php,还不会安装,是不是丢人
-
Linux编程的十大代码编辑器新鲜出炉,你用的入榜单了吗?
-
从7到8,CentOS又更新了什么
-
PHP程序员的技术成长规划-基础阶段篇
-
Linux curl命令
Linuxcurl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但...
-
CentOS和RedHat下8个最常用的YUM库