python小数乘法_Polymorph:支持几乎所有现有协议的实时网络数据包操作框架
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:支持几乎所有现有协议的实时网络数据包操作框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 龋齿自己能恢复吗?
- 下一篇: 眼皮肿了怎么快速消肿?