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&#160;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<字符串& ...
随机推荐
-
[Erlang 0120] Know a little Core Erlang
Erlang开发者或多或少都用过或者听说过Core erlang,它是什么样的呢?新建一个测试模块a.erl,如下操作会生成core erlang代码而非a.beam: Eshell V6.0 ...
-
shell脚本比较两个数大小
#/bin/bash read -p "请输入第一个数:" a read -p "请输入第二个数:" b if [ $a -gt $b ] #判断第一个数是不是 ...
-
Denormalization 2
In a relational database, denormalization is an approach to speeding up read performance (data retri ...
-
angularJs实现信息数据提交功能
如下简单的报名提交的实现 1.数据绑定 2.$http.post()提交数据 一.数据绑定 <!--报名部分--> <div class="attend_box" ...
-
Celery - Best Practices
If you've worked with Django at some point you probably had the need for some background processing ...
-
Leetcode#76	Minimum Window Substring
原题地址 用两个指针分别记录窗口的左右边界,移动指针时忽略那些出现在S种但是没有出现在T中的字符 1. 扩展窗口.向右移动右指针,当窗口内的字符即将多于T内的字符时,停止右移 2. 收缩窗口.向右调整 ...
-
duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包
转载自duilib入门文档 贴图描述: Duilib的表现力丰富很大程度上得益于贴图描述的简单强大.Duilib的贴图描述分为简单模式和复杂模式两种. 简单模式使用文件名做为贴图描述内容,在这种方式下 ...
-
Git教程(5)常用技巧之本地分支
http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B 基础 Git 研发组 ...
-
POJ 3254 Corn Fields:网格密铺类 状压dp
题目链接:http://poj.org/problem?id=3254 题意: 给你一片n*m的耕地,你可以在上面种玉米.但是其中有一些地方是荒芜的,不能种植.并且种植玉米的地方不能相邻.问你在这片地 ...
-
oracle-sql模式匹配
下面是条件 like与regexp_like条件 下面是函数 regexp_instr regexp_replace regexp_substr select * from tis_ft_user_i ...