Linux系统中字符串搜索命令ngrep的用法

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

  安装ngrep

  下载地址

  代码如下:

  git clone git://git.code.sf.net/p/ngrep/code ngrep-code

  进入目录

  代码如下:

  cd ngrep-code

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

  make

  make install

  选项

  -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

  应用举例:

  捕获所有post请求(加个-W byline 参数后,将解析包中的换行符):

  代码如下:

  ranger@ranger:~$ sudo ngrep -q -W byline "(POST).*"

  interface: eth0 (192.168.122.0/255.255.254.0)

  match: (POST).*

  T 192.168.122.74:46048 -> 140.207.228.58:80 [A]

  POST /Hotel/OTA_HotelSearch.asmx?wsdl HTTP/1.1.

  Content-Type: text/xml; charset=UTF-8.

  SOAPAction: http://ctrip.com/Request.

  Accept-Encoding: gzip, deflate.

  Content-Length: 1330.

  Accept: */*.

  Accept-Language: zh-cn.

  User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0).

  UA-CPU: x86.

  Accept-Encoding: gzip, deflate.

  Connection: close.

  Host: openapi.ctrip.com.

  .

  <Request>

  <Header AllianceID="***" SID="***" TimeStamp="1393554304685" RequestType="OTA_HotelSearch" Signature="B166CDF5422A6DA5BA81A08036E938E7"/>

  <HotelRequest>

  <RequestBody xmlns:ns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <ns:OTA_HotelSearchRQ Version="1.0" PrimaryLangID="zh"

  xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelSearchRQ.xsd"

时间: 2024-08-03 03:24:12

Linux系统中字符串搜索命令ngrep的用法的相关文章

在Linux系统中使用tar命令压缩和解压文件的教程

  linux中的tar命令 tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令. 其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或bzip算法进一步进行了压缩. 在本教程中我们会管中窥豹一下在linux桌面或服务器版本中使用tar命令来处理一些创建和解压归档文件的日常工作的例子. 使用tar命令 tar命令在大部分linux系统默认情况下都是可用的,所以你不用单独安装该软件. tar命令具有两个压缩格式,gzip和bzip,

关于在Linux系统中的gdb命令知识

  在Linux系统中有许多的命令程序来辅助系统的正常和方便运行,那么其中在系统中有着一个叫做gdb命令的程序,那么我们今天就来了解下关于gdb命令的知识吧! 一.常规调试 gdb是Linux下常用的程序调试工具,当然前提是用gcc/g++编译时加上-g参数,这样编译出的可执行程序会加上gdb调试信息. gdb命令不少,但常用的主要包括如下命令: (1)list [file:]functuon 命令缩写是l,查看源码,不加参数时,向下显示源码,加参数-l时,向上显示源码,默认显示10行. 也可以

Linux系统中的screen命令基本使用教程

  作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户机与远程服务器的链接将终端,并且远程服务器没有正常结束的命令将被迫终止. 又比如你SSH到主机上后,开始批量的scp命令,如果这个ssh线程断线了,scp进程就中断了.在远程服务器上正在运行某些耗时的作业,但是工作还没做完快要下班了,退出

Linux系统中的passwd命令实用技巧小结

  先来回顾一下passwd命令的基本用法: Linux passwd命令用来更改使用者的密码 语法 passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 必要参数: -d 删除密码 -f 强制执行 -k 更新只能发送在过期之后 -l 停止账号使用 -S 显示密码信息 -u 启用已被停止的账户 -x 设置密码的有效期 -g 修改群组密码 -i 过期后停止用户账号 选择参数: --help 显示帮助信息 --version 显示版本信息 实例 修改用户密码

Linux系统中vim编辑命令使用方法

使用Linux,少不了和编辑器打交道.Linux系统中有多个编辑器,一般比如nano,gedit,vi,vim等.nano使用简单,很容易上手,不过功能比较单一.vi命令功能强大,不过上手可能不是很容易.vim是vi命令的加强版,一般使用vim命令.下面简单说下vim的常见用法. vim是一个全屏编辑器,模式化编辑器.模式主要有编辑模式,输入模式,末行模式.默认打开vim命令进入的是编辑模式. 打开文件打开文件:vim /path/to/somefile 其他用法: vim +#:打开文件,并定

在Linux系统中安装apt-file命令 apt-file命令怎么使用

刚才安装Spynner模块,使用的是easy_install spynner安装,各种文件缺失啊,无意中发现apt-file命令,从此再也不用担心编译软件缺少某个文件而不知所措了. 1.首先得安装apt-file命令 代码如下:apt-get install apt-file2.接着更新apt-file的缓存 代码如下:apt-file update3.现在你可以使用apt-file搜索缺失的文件了,比如编译过程中提示缺少 代码如下:root@test:~# apt-file search XT

Linux系统中使用lftp命令实现FTP上传下载

  适合于 FTP 操作的命令和软件比较多. Linux 下常用的操作命令有 ftp, lftp 和 sftp,图形化界面非常好用的有 FileZilla.不过在服务器命令界面中,我还是觉得lftp使用比较方便,功能也比ftp更加强大.lftp的界面很像Linux的shell,有命令补全.历史记录.允许多个后台任务执行.书签.排队.镜像.断点续传.多进程下载等功能. 登录ftp命令 代码: lftp 用户名:密码@ftp地址:传送端口(默认21) 用法 (1)lftp username:pass

Linux系统中怎么搜索文件命令大全

  命令1:which "which 命令" 查找且只能查找命令所在目录 例如:which ls 命令2:whereis "whereis 命令" 查找且只能查找命令所在目录 + 帮助文档位置 whereis 命令 命令位置+帮助文档位置 命令3:find "find 路径 查找方式 参数" 可以查找任何文件 查找方式有很多种: 1.根据文件名查找 查找方式:-name 例如: find /t3 -name file1 注:文件名可以用通配符 *

Linux系统中使用iostat命令检测磁盘的IO性能

  iostat命令可以提供丰富的IO性能状态数据.iostat可以收集和显示系统输入/输出存储设备方面的统计信息.经常用于追查存储设备性能方面的问题,包括设备,本地磁盘和nfs等远程磁盘. iostat提供几个用于定制输出的开关.最有用的有: -c 只显示CPU行 -d 显示设备(磁盘)使用状态 -k 以千字节为单位显示磁盘输出 -t 在输出中包括时间戳 -x 在输出中包括扩展的磁盘指标 rrqm/s: 每秒进行 merge 的读操作数目. wrqm/s: 每秒进行 merge 的写操作数目.