Scapy使用TCP的方法:1. 使用內核的TCP堆棧;2. Scapy的TCP客戶端自動機;3. 使用外部項目。
Scapy的是一個強大的交互式數據包處理程序(使用python編寫)。它能夠偽造或解碼大量的網絡協議數據包,能夠發送,捕獲,匹配請求和回復包等等。它可以很容易地處理一些典型操作,例如端口掃描,tracerouting,探測,單元測試,攻擊或網絡發現(可替代hping,NMAP,arpspoof,ARP-SK,arping,tcpdump,tereal,P0F等)的特性-發送無效數據幀,注入修改的802.11數據幀,在WEP上解碼加密通道(VOIP),ARP緩存攻擊(VLAN)等,這也是其他工具無法處理完成的。
Scapy提供了一個StreamSocket對象,該對象可以將簡單的套接字轉換為適合與sr()命令系列一起使用的Scapy超級套接字。
StreamSocket
sr()
s=socket.socket() s.connect(("www.test.com",80)) ss=StreamSocket(s,Raw) ss.sr1(Raw("GET /\r\n")) Begin emission: Finished to send 1 packets. * Received 1 packets, got 1 answers, remaining 0 packets <Raw load='<html>\r\n<head> ... >
使用內核的TCP堆棧意味著您將依賴于本地防火墻的規則和內核的路由表。
Scapy提供了一個簡單的TCP客戶端自動機(沒有重新傳輸,沒有SAck,沒有時間戳等)。Automata可以以超級套接字的形式提供輸入和輸出。
這是使用Scapy的TCP客戶端自動機的方法(至少需要Scapy v2.1.1)。
筆記
s = TCP_client.tcplink(Raw, "www.test.com", 80) s.send("GET /\r\n") 7 s.recv() <Raw load='<html>\r\n<head> ... >
筆記 專門用于HTTP,您可以傳遞HTTP而不是Raw。
專門用于HTTP,您可以傳遞HTTP而不是Raw。
HTTP
Raw
muXTCP-編寫自己的靈活的Userland TCP / IP堆棧- Ninja 風格!!!
整合pynids
回答所涉及的環境:聯想天逸510S、Windows 10。
Scapy簡介
Scapy的是一個強大的交互式數據包處理程序(使用python編寫)。它能夠偽造或解碼大量的網絡協議數據包,能夠發送,捕獲,匹配請求和回復包等等。它可以很容易地處理一些典型操作,例如端口掃描,tracerouting,探測,單元測試,攻擊或網絡發現(可替代hping,NMAP,arpspoof,ARP-SK,arping,tcpdump,tereal,P0F等)的特性-發送無效數據幀,注入修改的802.11數據幀,在WEP上解碼加密通道(VOIP),ARP緩存攻擊(VLAN)等,這也是其他工具無法處理完成的。
Scapy使用TCP的方法
Scapy提供了一個
StreamSocket對象,該對象可以將簡單的套接字轉換為適合與sr()命令系列一起使用的Scapy超級套接字。使用內核的TCP堆棧意味著您將依賴于本地防火墻的規則和內核的路由表。
Scapy提供了一個簡單的TCP客戶端自動機(沒有重新傳輸,沒有SAck,沒有時間戳等)。Automata可以以超級套接字的形式提供輸入和輸出。
這是使用Scapy的TCP客戶端自動機的方法(至少需要Scapy v2.1.1)。
muXTCP-編寫自己的靈活的Userland TCP / IP堆棧- Ninja 風格!!!
整合pynids
回答所涉及的環境:聯想天逸510S、Windows 10。