Polymorph是一个用Python3编写的框架,其允许实时修改网络数据包,为用户提供对数据包内容的最大化控制。该框架旨在实现任何现有协议(包括没有公共规范的私有协议)的网络数据包的实时修改。除此之外,其主要目的之一是为用户提供对数据包内容的最大化控制,并能够对信息执行复杂处理。

安装

在Windows上安装

Polymorph可以在Windows操作系统上被安装,若要正常运行,需要以下必备组件:

一旦依赖安装好,你只需要打开控制台执行以下命令:pip install --process -dependency -links polymorph

注意,必须要以管理员身份打开控制台使用polymorph。

在Linux上下载和安装

Polymorph也用于在Linux操作系统(如Kali Linux)上安装和运行。 在安装框架之前,必须安装以下依赖:apt-get install build-essential python-dev libnetfilter-queue-dev tshark tcpdump python3-pip wireshark

在安装好依赖之后,可以使用Python pip通过以下方式安装框架本身:pip3 install polymorph

Docker环境

从项目根目录:docker-compose up -d

任何机器访问:docker exec -ti [polymorph | alice | bob] bash

如何使用Polymorph

Polymorph框架由两个主要界面组成:Polymorph:它由一个命令控制台界面组成。也是主界面,建议将其用于复杂的任务,例如修改复杂协议,修改字段中的类型或在无需规范的情况下修改协议。

Phcli:它是Polymorph框架的命令行界面。建议用于修改简单协议或执行先前生成的模板等任务。

使用Polymorph主界面

使用Phcli

解析几乎任何网络协议

现在让我们看看Polymorph如何解析不同网络协议的字段,如果我们想要实时修改这些字段,那么引用它们将会很有用。你可以尝试任何想到的协议。

HTTP协议,仅显示HTTP层和属于它的字段。# phcli --protocol http --show-fields

显示完整的HTTP数据包及其所属的字段。# phcli --protocol http --show-packet

你还可以对网络数据包进行过滤,例如,你可以仅显示包含特定字符串或数字的数据包。# phcli -p dns --show-fields --in-pkt "phrack"# phcli -p icmp --show-packet --in-pkt "84" --type "int"

过滤也可以这样用:# phcli -p http --show-packet --in-pkt "phrack;GET;issues"# phcli -p icmp --show-packet --in-pkt "012345;84" --type "str;int"

你可以按协议包含的字段名称进行筛选,但要注意的是,此名称是Polymorph在分析网络数据包时提供的名称。# phcli -p icmp --show-packet --field "chksum"# phcli -p mqtt --show-packet --field "topic;msg"

实时修改网络数据包

知道了Polymorph中显示的要修改的网络数据包,我们将要实时修改它。让我们先从一些例子开始。上一节中介绍的所有过滤器也可以在此处应用。

该例子将通过在request_uri字段中插入值/issues/61/1.html来修改包含字符串/issues/40/1.html及GET的数据包。 因此,当用户访问http://phrack.org/issues/40/1.html时,浏览器将访问http://phrack.org/issues/61/1.html# phcli -p http --field "request_uri" --value "/issues/61/1.html" --in-pkt "/issues/40/1.html;GET"

如果我们处于机器和网关之间,则上一个命令会起作用。# phcli --spoof arp --target 192.168.1.20 --gateway 192.168.1.1 -p http -f "request_uri" -v "/issues/61/1.html" --in-pkt "/issues/40/1.html;GET"

或者也许用户想在localhost上尝试它,因为他只需要修改Polymorph默认建立的iptables规则。# phcli -p http -f "request_uri" -v "/issues/61/1.html" --in-pkt "/issues/40/1.html;GET" -ipt "iptables -A OUTPUT -j NFQUEUE --queue-num 1"

用户可能想要修改未被Polymorph解释为字段的网络分组的一组字节的情况。为此,你可以使用“切分”直接访问数据包字节。(如果在localhost中尝试,请记住添加iptables规则)# phcli -p icmp --bytes "50:55" --value "hello" --in-pkt "012345"# phcli -p icmp -b "\-6:\-1" --value "hello" --in-pkt "012345"# phcli -p tcp -b "\-54:\-20" -v '">' --in-pkt "

python小数乘法_Polymorph:支持几乎所有现有协议的实时网络数据包操作框架相关推荐

  1. python读取pcap获得端口_Python处理网络数据包示例(pcapy读pcap文件)

    Python处理网络数据包示例(pcapy读pcap文件) 最近在围观python,找了个pcapy处理pcap数据的代码 非常非常久以前的东西了,应该是在项目组做的半成品吧.今天重装机器,不经意翻出 ...

  2. python应用系列教程——python使用scapy监听网络数据包、按TCP/IP协议进行解析

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  3. python 小数乘法_TMS320C55xDSP应用系统设计

    东坡小编一直认为pdf是一种专业的学术性研究的文档格式.因为它的内容是不能修改的,你不会因为在文章中不小心标准了一个东西,就变了样子.今天这款TMS320C55xDSP应用系统设计书籍,就是pdf格式 ...

  4. python小数乘法计算_小学数学所有的知识点都在这里,期末复习必备!

    01 小学数学法则知识归类 (1)笔算两位数加法,要记三条 1.相同数位对齐: 2.从个位加起: 3.个位满10向十位进1. (2)笔算两位数减法,要记三条 1.相同数位对齐: 2.从个位减起: 3. ...

  5. python小数乘法计算_多种思维理解小数的乘法运算

    图片发自简书App 今天在四年级学习小数乘法计算时,学生提出了运用多种方法去参与计算,帮助他们建构和理解,拓展思维.孩子们在课堂上积极思考,大胆说出自己的想法,在课堂上和学生们互动不错,故作文以记之. ...

  6. python网络数据包分析_Pyshark:使用了WirdShark的Python数据包解析工具(Tshark)

    Pyshark Pyshark是一款针对tshark的Python封装器,在Pyshark的帮助下,广大研究人员可以使用wireshark的解析器来进行Python数据包解析.扩展文档:[Pyshar ...

  7. python爬虫网络数据包_Python爬虫之多线程图虫网数据爬取(十六)

    Python爬虫之多线程图虫网数据爬取(十六) 发布时间:2019-05-14 10:11, 浏览次数:289 , 标签: Python 原创不易,转载前请注明博主的链接地址:Blessy_Zhu h ...

  8. python文件打开的合法模式组合wr_Python Scapy wrpcap-如何将数据包附加到pcap文件?

    我想我在这里跟踪你,因为包是嗅探你想让他们都写在一个单一的pcap文件?虽然不能追加到pcap,但可以将数据包追加到列表,然后一次将它们全部写入pcap. 我不确定这是否能回答你的问题或有任何帮助,如 ...

  9. python小数乘法计算_小数乘法100道

    展开全部 5.6×62616964757a686964616fe78988e69d83313334313636322.9 3.7×1.8 0.02×96 5.2×0.32 9.99×0.02 4.67 ...

最新文章

  1. 提高C++性能的编程技术笔记:跟踪实例+测试代码
  2. zTree第二章,各种常见setting设置和方法
  3. SpringMVC核心流程图
  4. linux parallel 命令,Linux 并行处理神器 GNU Parallel 简明教程
  5. iPhone 13 mini背部新外观曝光:双摄对角线排布
  6. JSOI 2008 【魔兽地图】
  7. 神经网络算法识别手写数字minst
  8. 1602显示字符串的C语言程序,LCD1602程序显示字符串
  9. 微信公众号开发:实人认证,活体人脸识别解决方案
  10. 柔性电流传感器(柔性电流探头)的工作原理和特点是什么?
  11. 【高精】Oliver的成绩
  12. 华为电脑如何投屏到电视linux,华为 P30 如何投屏到电脑
  13. Control Egress Traffic
  14. fama french-3 模型个人理解
  15. 独家首发|汇聚知识 理解世界——百度王海峰谈知识图谱的最新演讲笔记
  16. 关于Map线程安全的几种实现方案
  17. ubuntu设置MySQL密码
  18. swaks伪造钓鱼邮件
  19. 【2023新书】《ChatGPT在做什么…以及它为什么好使》
  20. 如何白嫖微软云Azure12个月及避坑指南

热门文章

  1. 如何解决90%的NLP问题:逐步指导
  2. 多进程单线程模型与单进程多线程模型之争
  3. mysql fabric安装使用测试
  4. RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
  5. Iperf源代码分析(八)
  6. ubuntu中以root权限打开文件(夹)
  7. IBATIS中关于iterate$与#的应用
  8. 海量信息存储基地落户滨海高新区
  9. python中的os操作文件,文件路径
  10. adb shell input text 完美支持中文输入