2

私は、この小さな 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について学んでいます。

4

1 に答える 1