Scapy 是一個強大的基於 Python 的互動式資料包操作程序和函式庫。
它能夠偽造或解碼多種協定的資料包、在線發送它們、捕獲它們、使用 pcap 檔案儲存或讀取它們、匹配請求和回復等等。它旨在透過使用有效的預設值來允許快速資料包原型設計。
它可以輕鬆處理大多數經典任務,如掃描、追蹤路由、探測、單元測試、攻擊或網路發現(它可以取代hping
、 85% 的nmap
、 arpspoof
、 arp-sk
、 arping
、 tcpdump
、 wireshark
、 p0f
等) 。它還在大多數其他工具無法處理的許多其他特定任務上表現出色,例如發送無效幀、注入您自己的 802.11 幀、組合技術(VLAN 跳躍+ARP 緩存中毒、WEP 保護通道上的 VoIP 解碼、. . .), ETC。
Scapy 支援 Python 3.7+。它旨在跨平台,並在許多不同的平台(Linux、OSX、*BSD 和 Windows)上運行。
Scapy 既可以作為shell也可以當作函式庫使用。有關更多詳細信息,請參閱 Scapy 入門,這是文件的一部分。
Scapy 可以輕鬆用作互動式 shell 來與網路互動。以下範例顯示如何向github.com
發送 ICMP Echo Request 訊息,然後顯示回覆來源 IP 位址:
sudo ./run_scapy歡迎使用Scapy>>> p = IP(dst="github.com")/ICMP()>>> r = sr1(p)開始發射: .已發送1包。
該文件包含更高級的用例和範例。
其他有用的資源:
20 分鐘後的 Scapy
互動式教學(文件的一部分)
快速演示:互動式會話(某些範例可能已過時)
HTTP/2 筆記本
TLS 筆記本
Scapy 在 Linux 和 BSD 等作業系統上無需任何外部 Python 模組即可運作。在 Windows 上,您需要按照文件中的說明安裝一些強制依賴項。
在大多數系統上,使用 Scapy 就像執行以下命令一樣簡單:
git 克隆 https://github.com/secdev/scapycd scapy ./run_scapy
為了受益於所有 Scapy 功能(例如繪圖),您可能需要安裝 Python 模組,例如matplotlib
或cryptography
。請參閱文件並按照說明進行安裝。
Scapy 的程式碼、測試和工具均根據 GPL v2 獲得許可。文件(除非doc/
中另有標記的所有內容,以及徽標除外)均根據 CC BY-NC-SA 2.5 獲得許可。
想做出貢獻嗎?偉大的!請花幾分鐘閱讀本文!