在处理IP网络的故障时,经常使用以太网抓包工具来查看和抓取IP网络上某些端口或某些网段的数据包,并对这些数据包进行分析,定位问题。

在 IMON项目里,使用抓包工具抓包进行分析的场景在EPG采集、引流模块和软终端监看模块,一般情况下EPG 采集和引流模块比较稳定,软终端监看还涉及SS5代理,这部分出问题的几率比较大,这是就有可能要现场维护人员抓包进行分析、排查、定位问题,确定是网络问题还是软件问题,如果是软件问题则要将抓回的包发给研发解决。

EPG 抓包可分为对鉴权过程、采集过程抓包验证,主要是通过通过抓包分析与IPTV 鉴 权服务器之间的TCP交互。

流媒体交互抓包可分为对组播、点播进行抓包,一般交互的协议分为IGMP、RTSP、RTMP等,组播一般是基于UDP的IGMP流,点播是基于RTP的RTSP流或基于TCP的RTMP流。

软终端抓包主要是抓取软终端与IPTV服务器交互、SS5与IPTV服务器交互的数据包,一般跟流媒体交互的报文协议差不多,也是分为组播IGMP 、点播 RTSP等协议,不过经过测试发现江苏的部分组播(可能是用户不同所致)发送的是RTSP的包。

Fiddler

Fiddler 是一个使用 C# 编写的 http 抓包工具。它使用灵活,功能强大,支持众多的 http 调试任务,是 web、移动应用的开发调试利器。所以 Fiddler 经常被运用在网络爬虫抓包、HTTP API 测试、手机抓包等场景。

推荐原因:

  • 操作简单,上手容易,学习成本低。
  • 能够抓取 HTTP/HTTPS 协议的数据包。
  • 支持伪造 CA 证书来欺骗浏览器和服务器,从而实现解密 HTTPS 数据包。
  • 不仅支持抓取 PC 浏览器的数据包,而且支持抓取手机数据包。
  • 支持设置“断点”,从而能够修改 HTTP 的请求头信息以及请求体的数据。

Charles

Fiddler 虽然强大且好用,但是不支持 Mac OS 系统。Charles 是 Fiddler 在 Mac 系统上的代替品。目前 Charles 算是 Mac 系统上最好用的抓包工具。它使用 Java 语言开发的,所以安装以及使用之前,要事先安装好 Java 环境。另外,它还支持 Windows、Linux 等操作系统。

推荐原因:

  • 同样操作简单,使用方便。
  • 支持捕获 HTTP/HTTPS 的数据包
  • 支持修改网络请求参数
  • 支持截获网络请求并动态修改
  • 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
  • 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。

Wireshark

Wireshark 也可以在各个平台都可以安装使用,不过它的功能侧重点和 Charles&Fiddler 有所不同,它主要用来抓取网络中的所有协议的数据报文,对于分析网络协议以及网络问题方面非常专业!

Wireshark 工具的优点:

  • 可以选择特定的网卡进行流量的捕获,那么就只会抓取关心的网卡经过的数据,针对性很强;
  • 可以抓取所有协议的报文,并且抓取的报文可以完整的以 OSI 七层网络模型的格式显示,可以清晰的看到客户端和服务器之间每一个交互报文,以及每一个数据包的网络各层级的详细内容显示。所以,这个工具抓包非常适合学习和分析网络协议。
  • 提供了非常强大的过滤规则。Wireshark 可以提供捕获前过滤,也可以捕获后过滤,并且过滤规则非常详细,可以实现精度和细粒度非常高的包过滤;可以结合 TCPdump 使用,分析线上服务器(Linux 系统)下抓取的数据报文,定位线上问题。

Wireshark 工具的缺点:

  • 如果要灵活的使用它需要具备一定的网络基础,对于初学者有一定的难度;

  • 无法分析 https 数据包,由于 wireshark 是在链路层获取的数据包信息,所以获取到的 https 包是加密后的数据,因此无法分析包内容。当然,我们可以对 https 数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。

BurpSuite

Burpsuite 工具也是基于 Java 语言开发的,所以它也可以跨各平台使用,包括Windows,MacOS 及 Linux 等系统平台。

Burpsuite 可以提供抓包功能,它的工作方式同样也是在浏览器和网站之间做了代理从而实现报文截取的;也能够修改数据内容并转发的功能;甚至还可以选择使用爬虫爬下网站相关的数据…

但是,它绝对不仅仅是一款抓包工具,它集成了很多实用的小工具可以完成更加强大的功能,比如 http 请求的转发、修改、扫描等。同时这些小工具之间还可以互相协作,在 BurpSuite 这个框架下进行定制的攻击和扫描方案。

所以这个工具很多功能测试的人员会使用它进行报文抓取和篡改数据,很多安全测试人员会借用它进行半自动的网络安全审计,开发人员也可以使用它的扫描工具进行网站压力测试与攻击测试,功能作用范围更加广泛。

不过它也有自己的缺点,就是不免费!每个用户一年的费用为 299$,使用成本相对来说有点高。

F12

F12 是众多抓包工具中最简单、最轻量级的,因为它是浏览器内置的开发者工具来提供捕获浏览器的数据报文的功能。它免安装,直接打开浏览器就可以直接使用,所有使用非常好上手,适合入门级别的新手学习。

它主要针对的是 HTTP 协议和 HTTPS 协议, 可以确认我们的网络数据包的一个状态, 通过分析请求和响应报文里面的内容, 分析出来请求数据和响应数据是否正确, 定位问题是前端问题还是后端问题。

而且 F12 作为浏览器的一部分,是数据收发的一端,抓取到的 HTTPs 报文是可以得到明文数据的;不过因为只能抓当前浏览器的收发报文,层次只能是在应用层 Http(s)协议,不能抓取其他的数据报文。

虽然 F12 抓包调试也能满足我们基本的测试工作需求,但是作用面和强大性和其他的抓包工具还是有一定差距的。

TCPdump

TCPdump 我上周发过一篇文章专门介绍过,这是专门作用于 Linux 命令行的抓包工具,它可以提供非常多的参数来对网络数据包进行过滤和定义。

而它抓取到的报文可以直接打印在 Linux 的命令行界面,也可以进行保存成文件,并用 Wireshark 工具打开进行更加细致的分析。

1、tcpdump 的选项介绍

  • a将网络地址和广播地址转变成名字;

  • d将匹配信息包的代码以人们能够理解的汇编格式给出;

  • dd将匹配信息包的代码以c 语言程序段的格式给出;

  • ddd将匹配信息包的代码以十进制的形式给出;

  • e在输出行打印出数据链路层的头部信息;

  • f将外部的Internet 地址以数字的形式打印出来;

  • i使标准输出变为缓冲型形式;

  • n不把网络地址转换成名字;

  • t在输出的每一行不打印时间戳;

  • v输出一个稍微详细的信息,例如在ip 包中可以包括ttl 和服务类型的信息;

  • vv输出详细的报文信息;

  • c在收到指定的包的数目后,tcpdump 就会停止;

  • F从指定的文件中读取表达式,忽略其它的表达式;

  • i指定监听的网络接口;

  • r从指定的文件中读取包(这些包一般通过-w 选项产生 );

  • w直接将包写入文件中,并不分析和打印出来;

  • T将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议; )

Linux系统下测试

软终端在通过SS5代理服务器进行接入IPTV 环境时,可能需要到 SS5所在的代理服务器上去抓包,抓包方式就是通过TCPDUMP命令来抓取,一般我们把与IPTV网口相关的所有包都抓下来存为PCAP文件进行分析。

抓包命令为tcpdump -i eth1 -wxx.pcap,这样可以把抓过来的包保存到linux 服务器的用户登录当前文件夹下,然后通过SSH 传到本地进行分析,当然了也可以通过过滤规则抓包,详见TCPDUMP的常用命令。

总结

综上所述,测试可以用的抓包工具非常多,然而它们各有各的优势,也有对应的不足,所以根据自己的使用场景,选择最适合的抓包工具才是最重要的!

上面是我收集的一些视频资源包

对于软件测试的的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

关注我的微信公众号【程序员二黑】免费获取

如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:785128166 里面有大牛分享学习经验

常用的爆款抓包工具综合对比(选择最合适的抓包工具才是最重要的!)相关推荐

  1. 梦柚科技:TikTok限流?教你爆款文案打造+热门背景音乐选择

    TikTok运营干货:爆款文案打造+热门背景音乐选择! 前面和大家讲了如何寻找爆款短视频素材和避免查重的深度剪辑技巧,接下来我和大家聊聊爆款文案的打造和热门背景音乐的选择! 毕竟一个爆款短视频的诞生, ...

  2. 数据分析软件测试哪个好,国内主流运营数据分析工具综合对比评测

    编者按:许多企业都在问市场上主流的运营数据分析工具.用户行为分析工具有哪些,各家对比哪个好,有什么对比功能的标准.如何选择?接下来企业服务汇就将综合对比:GrowingIO.诸葛IO.神策数据.Tal ...

  3. 四川企立方电商:拼多多店包爆款打造

    每个拼多多商家都有一个打造爆款的心,那么要怎么才能打造属于自己的爆款产品呐. 说到爆款打造,当然有很多商家吐槽:有这么容易打造吗?都是在随便乱说!! 我的每一次分享,都是把自己的经验各方面传授给大家, ...

  4. 弘辽科技:如何将新品打造成爆款?选对方法,教你轻松打造爆款

    原标题<弘辽科技:如何将新品打造成爆款?选对方法,教你轻松打造爆款> 还有一个星期的时间,我们就要迎来2021年的元旦了,在经历了2020年,是否还有很多商家在为付费流量贵,拿不到免费流量 ...

  5. 亚马逊能做些什么提升自己的产品成为爆款呢?

    亚马逊最受买家欢迎的原因之一是它有大量不同类别的商品可供选择,但从卖家的角度来看,可供选择的商品越多,竞争就越激烈,这就需要卖家保证所选商品能够吸引买家的注意力.最重要的是,买家喜欢省钱.卖家可以根据 ...

  6. 新媒体如何做日常内容选题以及爆款选题?

    运营丨保持可持续的内容输出 文/李雪含 天天想,想到脑抽.日日写,写到词穷.原是一个人,忙成一只狗.我是一个公众号小编,夜夜都加班.天天想辞职,还没挣到钱先秃了那种. #可以这很小编# 难得周六有时间 ...

  7. 打造爆款产品只需四步,学会你也能爆单

    打造爆款产品只需四步,学会你也能爆单 亚马逊你会觉得难的原因 亚马逊的运营越来越难,原因无怪乎卖家越来越多所致,但亚马逊的整体体量依然保持高速增长却是不争的事实.平台体量增长,卖家的生存却越来越难,固 ...

  8. access如何设置定期报表汇总_报表工具选型对比系列 - 大报表

    有些报表查询出的数据行数可达千万甚至上亿,这类报表通常被叫做大报表,大多数情况下都是些清单明细数据报表,也有少量分组报表. 针对大报表,如果像常规报表一样,将数据一次性全取再交给前端呈现是不可行的.一 ...

  9. 全网最全的爆款抓包工具的综合对比

    作为软件测试工程师,抓包总是不可避免:遇到问题要做分析需要抓包:发现 bug 需要定位要抓包:检查数据传输的安全性需要抓包:接口测试遇到需求不全的也需要抓包... 就因为抓包在测试工作中无处不在,所以 ...

最新文章

  1. sql查询第二大的记录(转)
  2. Python 技术篇-用base64库对音频、图片等文件进行base64编码和解码实例演示
  3. Android MediaRecorder架构详解
  4. 【学习笔记】求解简单递归式的一般方法
  5. python程序员到哪里_Python程序员都知道的入门知识の五
  6. 51单片机12864的使用方法
  7. Minecraft Forge 安装
  8. OGRE CG教程 (三): 渐隐效果
  9. Python入门学习二:列表
  10. 小程序 界面响应速度优化
  11. PyTorch-LSTM时间序列预测中如何预测真正的未来值
  12. 0.1+0.2为什么不等于0.3
  13. 一加8T安装的EdXposed插件导致手机无限重启的解决办法
  14. oracle重做日志教程,Oracle重做日志管理
  15. 射击末世--装饰者模式
  16. 数仓(四):数据建模:如何构建主题域/面向主题的建模
  17. oracle求整数取余,oracle 取余 取整 字符串连接
  18. 14 Tornado - XSRF
  19. 大话nbu四(nbu备份恢复catalog)
  20. 智慧城市的互联网云脑架构,7种城市神经反射弧的建设是重点

热门文章

  1. #欧拉函数 ~20.8.27
  2. 必杀王中王选股,预警一体
  3. 查询工作日 oracle,Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日...
  4. (休息几天)读米什金之货币银行学——利率
  5. Windows系统中Word文档中文字后面的空格下的下划线不显示的解决办法
  6. 二叉树排序树插入、创建、删除和查找
  7. 十六、覆盖索引(干货版)
  8. 华为打印console_华为交换机console命令与调试记录
  9. 【UP】锤子剪刀布(优化 AC)
  10. final、finally、finalize区别