【发布时间】:2013-10-19 23:26:17
【问题描述】:
我正在努力调整这段 Python 代码以适应我自己的使用(它来自 sendpkm DNS 欺骗工具,用于将原始 Pokémon DS 游戏的 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。
【问题讨论】: