基于Python3+Scapy的网络数据包批量分析工具

  • 项目源码
  • 适用范围以及使用说明
  • 背景
  • 环境准备及运行说明
  • 常见协议分析识别
    • TCP协议识别
    • UDP协议识别
  • 输出TXT文档信息
    • SSL NAME
    • DNS NAME
  • 后续

项目源码

https://github.com/sunbcy/PcapAnalyzer

适用范围以及使用说明

目前该项目由作者独立维护,可以离线批量识别项目根目录下的所有数据包格式文件识别并分析数据包中的HTTP、HTTPS、DNS等协议加密、解密的特征部分主要是域名和请求的信息,不包含回包信息),当然想要识别的话,也可以把我上面的工具clone到本地自己做相应定制的。最后会输出一个TXT文档,包含了解密数据包中HTTP请求的部分以及加密数据包中域名的集合,具体内容都可以修改源代码定制。
本项目的特点:源码结构简单易懂,根据自己需要定制输出,对小白友好,适合网络协议分析学习。

背景

在工作中,一些岗位往往需要分析大量数据包,根据需要提取特征码用以分析。对于一些新手和小白来说,时常感到力不从心,作者在这方面曾经也是小白,感触颇深。当然在离线数据包分析这方面,有Wireshark这个强大的工具。但是实际工作中,作者发现当分析的数据包达到一定数量的时候,人力显的略微有那么点微不足道。这个时候脑子里响起“人生苦短,我用Python”的口号。

环境准备及运行说明

  • ≥Python3.6(本工具下载到本地最好保证Python3.6以上,由于使用了大量的f-string)
  • scapy模块–用于读取数据包
  • scapy_ssl_tls模块–用于分析SSL/TLS部分的协议
  • 运行脚本时确保PC内存尽量大一点(16G比较合适,8G可能有点吃力,数据包越大,分析时间越久,占用内存越多,内存少可能会出现卡顿现象。

常见协议分析识别

根据网络层的proto字段可识别出TCP、UDP等常用协议以及FTP、SSH、IPv4、IPv6、Telnet、SMTP、DHCP、TFTP、POP3、IMAP4等协议。

TCP协议识别

跟Wireshark下的数据流简单对比下,GET和POST的流,显示完美。

  1. 提取HTTP协议信息
    GET

    POST


    以下几种字段都可以做到相应的匹配。
    PUT
    HEAD
    OPTIONS
    此处HTTP协议类型的数据流还可以进一步细分,本项目当前只支持识别以上字段开头的数据流,其他的字段留给大家自己去定制。

  2. 提取HTTPS协议信息
    主要提取了443端口的Client Hello数据流中的域名信息。

UDP协议识别

  1. 提取DNS协议信息
    主要提取了数据流中的DNS域名请求信息。
    [70]是指数据流编号,后面跟着此数据流的五元组,下面第一行是请求的该DNS域名,第二行是该域名对应的hex字符串,由空格对应上面域名的小数点分隔符,每开头的两个字符代表该段的长度,如:0c表示第一段有12个字符

输出TXT文档信息

输出的文档是一个TXT的文档,汇总了上面识别的各个数据流的结果以及下面的域名信息,这些都是作者在反复看Wireshark分析数据包之后很难一下子就汇总的信息。本项目也算是给网络数据包分析带来一个新姿势,可以说开发这个分析工具还是给作者带来了一些方便的,也希望这个项目能方便到大家

SSL NAME

DNS NAME

后续

这个项目会继续完善下去,现在存在的问题还是有一些,后面准备用到Django和Flask对本项目进行重构,然后加上数据可视化分析,或许会更直观,也能惠及到更多的网络分析人员!

基于Python3+Scapy的数据包流量特征批量分析工具相关推荐

  1. 基于winpcap的网络数据包的捕获与分析

    这是我的毕业论文,战事不能够发上来!!很快就好!! 转载于:https://blog.51cto.com/33965/29268

  2. scapy 嗅探数据包(wireshark数据抓包)

    scapy 嗅探数据包(wireshark数据抓包) 简介:Scapy 是一个用 python 编写的强大且通用的数据包操作工具.使用 scapy,用户将能够发送.嗅探.剖析和伪造网络数据包.Scap ...

  3. linux tcp 包大小,linux – 通过大量连接和小数据包流量高的千兆网络提高TCP性能...

    我正在尝试通过"具有大量连接和小数据包流量的千兆网络"来提高TCP吞吐量.我的服务器操作系统是Ubuntu 11.10 Server 64bit. 有大约50.000(和不断增长的 ...

  4. Python黑帽子编程—使用scapy构造数据包

    用scapy构造数据包 小明和小红相互写信沟通,一封信就是一个IP包裹.但是我们这次想要搞点恶作剧,比如代小明给小红发消息,下面的payload里装的就是我们的消息. from scapy.all i ...

  5. scapy定制数据包详解

    今天继续给大家介绍渗透测试相关知识,本文主要内容是scapy定制数据包详解. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 一.scapy介绍 ...

  6. cacti 网络流量监测图形分析工具

    Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 安装方法 一.安装rrdtool CentOS-5: rpm -ivh http://apt.sw. ...

  7. 网络流量分析软件 mysql_网络流量监测图形分析工具 Cacti

    Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTo ...

  8. Hyper-v下安装网络流量监测图形分析工具 Cacti

    网络流量监测图形分析工具Cacti,在虚拟机上安装,易于使用,便于移植,在Vmware上安装的已有介绍,这里略过,这里主要介绍在微软虚拟机Hyper-v上的安装过程. 安装前准备: 1.安装虚拟机Hy ...

  9. wireshark数据包流量分析

    常用数据分析软件 Sniffer //相对较早的抓包工具 Tcpdump //Linux系统下抓包工具 Omnipeek //图形化协议分析工具/常用于无线抓包 Fiddle // http协议代理工 ...

最新文章

  1. Verilog学习----条件语句、循环语句、块语句与生成语句
  2. [BUUCTF-pwn]——picoctf_2018_rop chain
  3. 各种接口的硬盘在linux中的文件名
  4. hashmap 存取原理图_HashMap原理(二) 扩容机制及存取原理
  5. 网易云系列爬虫-采集歌单内歌曲热评
  6. EGo1下板_简单秒表
  7. 爬虫之requests模块
  8. 常用统计预测方法介绍
  9. jenkins更换插件安装源
  10. Excel2007无法卸载:安装程序包的语言不受系统支持。微软的卸载程序也不行。——只能手工删除
  11. 黑群晖vmm专业版_群晖的ABB应用不错,但必须吐槽群晖 VMM功能,让你看看就是不让你好好用!!!...
  12. 男人很容易喜欢一个女人,却不轻易深爱一个女人。
  13. 电脑网络图标有*号,或者本地连接图标有红叉,但能正常上网问题解决
  14. Excel 基础的操作
  15. 一、FPGA Cyclone Ⅳ OV5640图像实时采集系统设计
  16. python二级考试报名多少钱_Python语言二级考试你准备好了吗?
  17. Oracle Data Guard 的角色转换
  18. pca 对图像降维matlab,Matlab用处理后的数据进行PCA降维
  19. 《计算机网络自顶向下方法》读书笔记(一)
  20. DataStore入门及在项目中的使用

热门文章

  1. 2021最新超人社区二手跳蚤市场 V6. 6.2版
  2. AI 世界里,挖掘机「生产」哪家强?
  3. Intel C/C++、Fortran 编译器介绍
  4. 新手先学python还是c语言,初学者应该选择学习Python还是C语言
  5. 谷歌chrome浏览器无法播放youtube1080p以上分辨率的视频
  6. sourceinsight 语法不显示高亮 symble无法跳转 不解析
  7. c++实现定时向qq好友发送消息
  8. RelativeLayout布局
  9. 什么是Linux发行版?常见Linux发行版本有哪些?
  10. JavaWeb那些事