scapy安裝及SCTP包分析

2022-05-04 05:15:11 字數 1946 閱讀 9991

關於scapy

scapy是乙個強大的互動式資料報處理程式(使用python編寫)。它能夠偽造或者解碼大量的網路協議資料報,能夠傳送、捕捉、匹配請求和回覆包等。它可以很容易地處理一些典型操作,比如埠掃瞄、tracerouting,探測,單元測試,攻擊或網路發現(可替代hping,nmap,arpspoof,arp-sk,arping,tcpdump,tethereal,pof等)。最重要的他還有很多更優秀的特性——傳送無效資料幀、注入修改的802.11資料幀、在wep上解碼加密通道(voip)、arp快取攻擊(vlan)等,這要是其他工具無法處理完成的。

安裝scapy

由於scapy依賴於python,因此在安裝scapy前,必須保證python的正確安裝,python的安裝此處不在贅述,如有需要可查閱網路。本人採用的python2.7。

解壓後,進入scapy的資料夾,使用sudo python scapy.py install命令安裝scapy,當出現welcome字樣時,表示scapy安裝成功。

在官方文件中也說明了,當在windows下安裝scapy時,只需要執行cmd,在控制台介面,找到scapy解壓後所在路徑,進入後,輸入python scapy.py install即可完成安裝,當然,前提仍然是要正確安裝python。

sctp抓包分析

前面提到了,scapy可以很方便的構造各種包,目前也支援很多協議。對於通訊行業來說,最重要的當然是sctp包了。了解scapy的初衷是為了在自動化測試中,能夠分析sctp包,從而做協議介面測試。網路上對於sctp包的描述較少,個人通過不斷的嘗試,終於成功將sctp包捕獲並且分析和自動匹配,以下開始具體操作過程:

首先,要進入scapy介面:

然後就可以輸入scapy命令了。先來構造乙個介面的抓包,這裡要借助sniff這個函式,使用說明如下:

構造如下的sniff函式,開始嗅探特定sctp包:

當抓包完成,會自動結束,此時返回的pkt是乙個列表,每個元素是抓包的內容,如下圖:

上圖所示的包為乙個心跳請求包

通過這樣的引用,可以找到sctp的型別,編號是遵循sctp協議的,如下圖:

如果要分析sctp的包內容,那首先要找到的是資料塊型別編碼為0的sctp包,此時可方便通過迴圈判斷,找到該sctp資料報,如下圖:

可見pkt中的第12個包為資料報,以該包為例,可檢視該資料報:

至此,就把抓到的sctp包的資料報給提取了出來。由於不支援sctp的更上層協議,因此需要自己去匹配協議字段,找到message type,從而判斷訊息型別。網上也有牛人可嘗試製作新的協議模板,來做到自動匹配,有興趣可查閱。這裡用第一種方法。那麼,為了方便知道具體字段標識的內容,我們還是要把抓到的包匯出成wireshark可以開啟的pcap包,從而方便我們來做編譯碼,方法如下:

可見,這是乙個s1setup的包,而s1setup位於data中的第二個位元組,對應的procedure code是17,16進製表示是0x11,和提取到的data中是一致的:

因此,可以在data中判斷第二個位元組的type code來判斷該sctp所對應的上層訊息,從而實現對sctp的編譯碼分析。

python包安裝及安裝包製作

1.單檔案模組 直接把檔案拷貝到 python dir lib 這是類庫目錄 可直接將單檔案或單包放在這裡 2.多檔案模組,帶setup.py python setup.py install 解除安裝時只能手動刪除,一般安裝在系統類庫目錄下 python setup.py install recor...

安裝python及python包

這學期在學資料探勘,老師推薦了一本入門的書,叫機器學習實戰,介紹了一些機器學習的演算法。這本書有比較全的 可是是用python語言寫的,所以需要安裝python,同時需要安裝相關的python包,讓 能夠順利的執行。1 首先是安裝python 2 安裝pip pip是用於安裝python包的乙個工具...

ubuntu安裝包查詢及安裝

官方包源 ubuntu下當前安裝的包儲存在在 var cache apt archives 第一步 查詢,開啟 第二步 查詢結果如下,選擇ubuntu14.04版 包查詢安裝的命令形式,有兩種為 apt 和 dpkg apt 命令 作用 apt cache search package 搜尋包 ap...