私は、この小さな Python コードを自分の使用に適応させる作業を行っています (元のポケモン DS ゲームの DNS 要求を自分のコンピューターにリダイレクトするために使用される sendpkm DNS スプーフィング ツールからのものです)。
def dnsspoof():
s=socket.socket(); s.connect(("bash.org",80));
me="".join(chr(int(x)) for x in s.getsockname()[0].split("."))
print "Please set your DS's DNS server to",s.getsockname()[0]
dnsserv=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
dnsserv.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
dnsserv.bind(("0.0.0.0",53))
while True:
r=dnsserv.recvfrom(512)
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('4.2.2.2', 53))
s.send(r[0])
rr=s.recv(512)
if "gamestats2" in rr: rr=rr[:-4]+me
dnsserv.sendto(rr, r[1])
serv=None
log=None
誰かが私にソケットを案内し、これがどのように DNS クエリの IP を返すかを説明してくれませんか? 私はPythonについて学んでいます。