[linux]ngrep命令、常见用法
1、ngrep
ngrep工具是grep命令的网络版,ngrep用于抓包,并可以通过正则表达式,过滤、获取指定样式的数据包。能识别TCP、UDP和ICMP协议,理解bpf的过滤机制。
可以用来分析、定位服务中的问题。
因为如果包含多个服务的大型服务出现问题,需要逐步分析定位问题到具体的服务。使用ngrep抓包可以确定数据包是否已经到了某个服务模块,从而定位是哪个部分的问题。
1.1 安装
- Mac:
brew install ngrep
- 其它平台
1.2 语法
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>
1.3 选项
- -q :不显示包的详情,都以‘#’ 号代替现实
- -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 :查询网卡接口
2、使用实例
注意:需要以超级管理员身份执行该命令
ngrep host 192.168.1.8 udp
:抓udp包ngrep -W byline -qd any '.event' udp port 1514
:抓取1514端口udp包,过滤正则匹配包含‘event’字段的包ngrep -W byline 'GET /' 'tcp and dst port 80' -d eth1 | awk -v RS="#+" -v FS="\n" 'length() > 1000'
:查询大于1k的请求头ngrep -d en0 -W byline host 192.168.1.9
:抓取本地 en0 和 61.135.169.125(百度ip)的通信信息,并以行打印出来
[linux]ngrep命令、常见用法的更多相关文章
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- [转]Linux中find常见用法示例
Linux中find常见用法示例[转]·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参 ...
- Linux中 find 常见用法示例
Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #- ...
- Linux awk命令常见使用方法介绍
Linux awk命令常见使用方法介绍 By:授客 QQ:1033553122 awk运行方式有三种,其中常用的为命令行方式 awk [-F field_separator] '{patter ...
- Linux tar命令高级用法——备份数据
Linux tar命令高级用法——备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ...
- [转帖]Linux date命令的用法(转)
Linux date命令的用法(转) https://www.cnblogs.com/asxe/p/9317811.html 1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与 ...
- Linux find命令的用法实践
一.find命令简介 Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大 ...
- Linux crontab命令 定时任务 用法详解以及no crontab for root解决办法
最近系统服务器进行搬迁,又恰好需要使用定时任务运行程序,而我的程序主要使用PHP写的,然后总结了下定时任务的用法,但是在这里主要写的是关于crontab命令的用法,使用过程中遇到不少问题,例如no c ...
- curl命令常见用法汇总 good
curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...
- Linux date命令的用法(转)
1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与时间. 3.命令参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串& ...
随机推荐
- SystemUI简介
http://wenku.baidu.com/link?url=p9hBaL4tmc6Z6fAxar23459qPEv3EqDBCW71SmdrphTA0vU02ZWVayNkEItvkP1WSk4L ...
- bzoj3322 最大生成树+LCA
题目大意:给个无向图,每条边有个限制,每个点最多能买入和卖出一定黄金:然后按顺序走过n个点,求每个卖出黄金的点最多能卖出多少黄金 一开始有点懵,想着怎么再图上做这个问题,后来知道要先建一棵最大生成树 ...
- SpingMvc 中文乱码 post 方式解决方案
Web.xml <!-- spring 中文乱码问题 --> <filter> <filter-name>encodingFilter</filter-nam ...
- 常见的Js
//根据单独的值切换所有复选框 $("input[type='checkbox']").prop("checked", function( i, val ) { ...
- Linux下hosts、host.conf、resolv.conf
/etc/resolv.conf 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数. resolv.conf的关键字主要有四个,分别是: nameserver ...
- iOS10适配——相机,通讯录,麦克风等权限设置
崩溃:[access] This app has crashed because it attempted to access privacy-sensitive data without a usa ...
- lpc1768usb使用-配置
#ifndef __USBCFG_H__ #define __USBCFG_H__ //#define USB_IF_NUM 1 #define USB_MAX_PACKET0 ...
- 初步了解php,实现注册及登录
直接上图(数据库是用wamp实现的) 注册页 html 及 php 代码 登陆页 html 及 php 代码
- Vue.js与angular在数据实现的思考
Vue.js,其简洁的API以及活跃的社区,对于打算从angular转向Vue还是挺友好的,打算最近一段时间去整理下Vue自己的一些思考,加深下对于此的印象. Vue与Angular同属于MVVM框架 ...
- LPC1768串口使用
Lpc1768内置了四个串口通讯模块,都是异步通讯模块,其中,串口0/2/3是普通串口通讯,串口1与 UART0/2/3 基本相同,只是增加了一个 Modem 接口和 RS-486/EIA-486 模 ...