Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python制作DNS查询消息_Python_Tcp_Tcp Ip - Fatal编程技术网

用Python制作DNS查询消息

用Python制作DNS查询消息,python,tcp,tcp-ip,Python,Tcp,Tcp Ip,我一直在使用Scapy来制作数据包和测试我的网络,但我内心的程序员渴望知道在没有Scapy的情况下如何做到这一点 例如,如何使用套接字创建DNS查询(我假设将使用套接字) 感谢您打开您要使用的UDP套接字: s=socket.socket(socket.AF\u INET、socket.SOCK\u流、socket.IPPROTO\u UDP 要发送或使用: query=craft\u dns\u query()#这部分由您来完成 s、 发送到(查询,(socket.inet_aton(“8.8

我一直在使用Scapy来制作数据包和测试我的网络,但我内心的程序员渴望知道在没有Scapy的情况下如何做到这一点

例如,如何使用套接字创建DNS查询(我假设将使用套接字)


感谢您打开您要使用的UDP套接字:

s=socket.socket(socket.AF\u INET、socket.SOCK\u流、socket.IPPROTO\u UDP

要发送或使用:

query=craft\u dns\u query()#这部分由您来完成
s、 发送到(查询,(socket.inet_aton(“8.8.8.8”,53))

要接收响应,请使用:
response=s.recv(1024)


你必须参考DNS上的文档,才能真正地制作消息和处理响应。

@MarcB的链接是一个很好的研究对象。此外,你可以查看Scapy源代码的内部内容来获得一些想法。DNS主要使用UDP。另一个有趣的方法是嗅探,然后发送相同的数据。这伴随着RFC和参考实现应该提供良好的学习体验。Barry,你是在问“我如何发送数据包”还是“如何制作数据包”?