本篇介紹如何使用 ngrep 這個 Linux 網路封包分析工具,以正規表示法等方式篩選與擷取封包資料。

ngrep(network grep)是一個簡單易用且功能強大的網路封包分析工具,它有點類似 Linux 的 grep 指令,可以使用正規表示法來批配網路封包中的資料(payloads),抓取出實際含有指定資料的封包,對於熟悉 grep、tcpdump 或 wireshark 的人來說,非常容易上手使用。

ngrep 支援各種常見的通訊協定,包含 IPv4/6、TCP、UDP、ICMPv4/6、IGMP 等,對於網路管理者來說,是一個非常實用的網管工具。

安裝 ngrep

大部分 Linux 發行版的套件庫都有收錄 ngrep 這個工具,若要安裝的話就執行各種 Linux 版本所對應的指令即可:sudo apt install ngrep # Debian/Ubuntu

sudo yum install ngrep # RHEL/CentOS

sudo dnf install ngrep # Fedora 22+

如果要查看它的原始碼,可以從 ngrep 的 GitHub 網站上查看。

使用 ngrep

ngrep 的使用方式很彈性,而基本的語法結構如下:ngrep [參數] [批配規則] [BPF 規則]

其中批配規則可以使用正規表示法或是十六進為的資料,而BPF 規則則是指定封包的類型(例如協定種類或連接埠等),以下是一些常見的使用範例。

若要監看所有含有 HTTP 字樣的封包,可以執行:# 監看含有 HTTP 字樣的封包

sudo ngrep -q 'HTTP'

監看含有 HTTP 字樣的封包

若要加上時間戳記,可以使用 -t 參數:# 加上時間戳記

sudo ngrep -qt 'HTTP'

在查看封包內部的文字資料時,可以使用 -W 參數將換行模式指定為 byline,這樣可以讓版面更好閱讀:# 保持原始資料的換行

sudo ngrep -q -Wbyline 'HTTP'

指定連接埠

若要監看所有 SMTP 郵件傳送(port 25)的封包,可以執行:# 監看所有 port 25 的封包

ngrep -d any port 25

若要監看含有 error 字樣的 syslog 封包,可以執行:# 監看含有 error 字樣的 syslog 封包

ngrep -d any 'error' port syslog

指定 IP 位址

若要篩選來源或目的 IP 位址為 192.168 開頭的封包,可以使用這樣的 BPF 規則:# 來源或目的 IP 位址為 192.168 開頭的封包

sudo ngrep -q 'HTTP' 'host 192.168'

若只要篩選目的 IP 位址為 192.168 開頭的封包,則可以這樣寫:# 目的 IP 位址為 192.168 開頭的封包

sudo ngrep -q 'HTTP' 'dst host 192.168'

若只要篩選來源 IP 位址為 192.168 開頭的封包,則可以這樣寫:# 來源 IP 位址為 192.168 開頭的封包

sudo ngrep -q 'HTTP' 'src host 192.168'

指定通訊協定

若在查看封包時,只要篩選某一類通訊協定的封包,可以這樣寫:# 篩選 TCP 封包

sudo ngrep -q 'HTTP' 'tcp'

# 篩選 UDP 封包

sudo ngrep -q 'HTTP' 'udp'

# 篩選 ICMP 封包

sudo ngrep -q 'HTTP' 'icmp'

儲存與讀取 pcap 封包檔案

若要將符合條件的封包資料儲存下來,可以使用 -O 參數指定儲存的 pcap 檔案:# 儲存封包資料

sudo ngrep -O output.pcap -q 'HTTP'

若要從已經儲存下來的 pcap 檔案中,篩選出指定的內容,可以使用 -I 參數指定 pcap 檔案的位置:# 從檔案讀取封包資料

ngrep -I input.pcap -qt 'HTTP'

linux封包工具下载,Linux 的 ngrep 網路封包分析工具使用教學相关推荐

  1. ftp工具下载,推荐5个流行的ftp工具下载软件

    无论你是做网站工作,还是运行一个家庭FTP工具,或者你只是喜欢高速下载,一个稳定且功能齐全的FTP工具都可以节省你大量时间和生命,现在有大量的免费或者收费的FTP工具软件供大家选择,这里总结了5个流行 ...

  2. linux的screen工具下载,Linux终端下的强大工具 - screen

    使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题. Screen工具是一个终 ...

  3. linux程序分析工具下载,linux 程序分析工具

    http://blog.csdn.net/denny_233/article/details/7477282 2012 linux程序分析工具介绍(一)--"/proc" 写在最前 ...

  4. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

  5. linux 文件可视化工具下载,linux下sqlite3可视化工具

    eclipse 粘贴字符串自动添加转义符 eclipse -> Window -> Preferences -> Java -> Editor -> Typing -&g ...

  6. linux系统程序下载,Linux平台的下载程序

    Linux平台的下载程序 发布时间:2008-10-28 09:12:43来源:红联作者:jerry520 在Windows平台下,如NetAnts."网际快车".TelePro等 ...

  7. 深度系统linux15.3 32位下载,deepin 15.3|deepin linux 15.3下载|linux deepin 2016下载-游迅网...

    deepin linux 15.3是Linux发行版,是一款功能强大的操作系统~无论是日常办公,还是休闲娱乐,这款软件都可以完美胜任.系统和应用都简洁统一,给你最舒适的体验.感兴趣的朋友赶紧前来下载体 ...

  8. linux软件手机下载,linux软件下载

    手机评站网今天精心准备的是<linux软件下载>,下面是详解! linux怎么安装软件 希望能帮助我操作一下... 希望能帮助我操作一下 1.打开系统,可以看到桌面,找到软件中心,打开软件 ...

  9. linux 免费教程下载,Linux系统入门教程

    Linux系统入门教程 (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 Linux系统入门教程(文档资料整理) (2011-08-0 ...

最新文章

  1. cpu居高不下 linux,linux cpu居高不下 调试
  2. python 库列表_python库安装列表
  3. 程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序
  4. mysql+影响的行数+获取_CI中获取读操作的结果集行数+获取写操作的影响行数
  5. 2021年五月中旬推荐文章
  6. Git学习小记之分支原理
  7. Golang map的底层实现
  8. Java中的变量分类_Java十四天零基础入门-Java变量的作用域
  9. 含泪整理上万射击枪战游戏源码素材,你想要的这里都有!
  10. 能当「公务员」、服务员,商用服务机器人今年为啥这么火?
  11. 新世纪音乐——天籁之音
  12. 三大主流负载均衡器对比
  13. 2022-2027年中国缝制机械行业市场全景评估及发展战略规划报告
  14. 万达商管再次递表港交所:上半年净利润40亿元,外部股东阵容强大
  15. Kodi+Alist v3 挂载阿里云盘他人分享链接打造在线影视库
  16. 对耳朵伤害最小的耳机有哪些,不伤耳的蓝牙耳机推荐
  17. ROS 之 使用yocs_velocity_smoother对机器人速度进行限制
  18. 青少年计算机编程少儿编程小学生编程是否适合
  19. vue 打包之后不兼容ie_vue项目打包后在IE浏览器报错,页面显示空白
  20. 举例:MySQL 使用DQL命令查询数据

热门文章

  1. 红黑树检索/插入/删除
  2. 云上网站通用解决方案
  3. 智能农业大棚控制设计
  4. (六)CMake与FFTW
  5. 小小扎马-Java生成指定范围和跳过指定数字的代码
  6. BJDCTF 2nd-WP
  7. 第一章 概述_TCP-IP
  8. 【C/C++进阶】输入的技巧
  9. 美观又实用,纯 CSS 悬浮菜单让网站更加出色
  10. python 三维矩阵乘以二维矩阵_二维numpy数组的乘法/除法生成三维数组