0
我試圖發送帶有Scapy的圖書館通過套接字在Python 3發數據包發送一個「方法」 ..如何通過插座
這是代碼:
from scapy.all import *
import socket, threading
def loop():
global threads
for x in range(800):
sending().start()
class sending(threading.Thread):
def run(self):
self.connstart()
def connstart(self):
host = "ip" # this could be a proxy for example
port = port # the port of proxy
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(self.spoofing)
def spoofing(self):
A = "ip" # spoofed source IP address
B = "ip" # destination IP address
C = RandShort() # source port
D = port # destination port
payload = "yada yada yada" # packet payload
spoofed_packet = IP(src=A, dst=B)/TCP(sport=C, dport=D)/payload
return spoofed_packet
loop()
Obviusly腳本引發錯誤:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "spoof.py", line 12, in run
self.connstart()
File "spoof.py", line 19, in connstart
s.send(self.spoofing)
TypeError: a bytes-like object is required, not 'method'
對於你有沒有辦法繞過這個?所以發送這個數據包不變?
我想要做的是連接到代理服務器,然後發送到代理包含欺騙性的源IP TCP數據包,並且目的地(從代理不同,這將是另一個網站/服務器)
嗨,謝謝你的回答。你沒有得到我想要做的代碼..這是我的錯..因爲檢查我發佈的問題並不太清楚..事實上,現在我已經在最後添加了更多的行,以更好地解釋什麼我正在尋找...無論如何是的..我忘了寫()到self.spoofing的調用。我正在運行Linux :) – Sperly1987
如果要發送帶有欺騙性IP地址的數據包,唯一的方法是使用原始套接字接口。如果你只是想代理,連接到代理,它應該建立自己的連接到目的地(但將有代理的源IP地址和端口號)。 – holdenweb
所以它會無論如何...我唯一想做的事情就是讓代理髮送這個欺騙數據包...導致我的ISP阻止欺騙數據包..所以我猜如果代理可以做「髒工作「對我來說......所以這不可能吧?對不起,但我是一個新手 – Sperly1987