• 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 

          ./configure

      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: DeviceTNT_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头信息

  • 相关阅读:
    sencha touch 视图(view) activate与deactivate事件探讨
    sencha touch Demo(示例)(2014-6-25)
    sencha touch NavigationView 源码详解(注释)
    sencha touch Model validations(模型验证,自定义验证)
    sencha touch routes(路由) 传递中文参数
    第二步 使用Cordova 3.0(及以上版本) 创建安卓项目(2014-6-25)
    sencha touch datepicker/datepickerfield(时间选择控件)扩展(废弃 仅参考)
    sencha touch list ListPaging使用详解
    sencha touch list更新单行数据
    sencha touch list tpl 监听组件插件(2013-9-15)
  • 原文地址:https://www.cnblogs.com/jiujuan/p/3850399.html
Copyright © 2020-2023  润新知