gpt4 book ai didi

dns - 人类可读的 DNS 查找形式

转载 作者:可可西里 更新时间:2023-11-01 02:37:40 26 4
gpt4 key购买 nike

我有一个非常简单的想法,我想尝试一下。假设我有一个浏览器,例如 chrome,我想搜索域名的 ip,比如 www.google.com。我使用 Windows 7,我已将 dns 查找属性设置为手动,并给出了地址 127.0.0.1 我的服务器(用 Python 编写的正在运行)。我启动了我的服务器,我可以看到 dns 查询,但它非常奇怪,因为它显示的是这样的面孔:

WAITING FOR CONNECTION.........

.........recieved from : ('127.0.0.1', 59339)

'V"\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x06teredo\x04ipv6\tmicrosoft\x03com\x00\x00\x01\x00\x01'

waiting for connectionreceived from 来 self 的服务器。我如何获得此消息的分割形式(人类可读形式)??

这是我的服务器代码(基本但仍然安静):

代码如下:

from time import sleep 
import socket
host=''
port=53
addr_list=(host,port)
buf_siz=1024
udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udp.bind(addr_list)
while True:
print 'WAITING FOR CONNECTION.........'
data,addr = udp.recvfrom(buf_siz) print '.........recieved from : ',addr
sleep(3)
print data

最佳答案

如果你想使用 python 分析查询数据,我推荐优秀的 scapy 库 (http://www.secdev.org/projects/scapy/) 它有许多网络协议(protocol)的解码(和构建!)例程,包括域名系统。

这是添加了 scapy 解码的原始程序:

from time import sleep
import socket
from scapy.all import DNS #Bring in scapy's DNS decoder

host=''
port=53
addr_list=(host,port)
buf_siz=1024
udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udp.bind(addr_list)
while True:
print 'WAITING FOR CONNECTION.........'
data,addr = udp.recvfrom(buf_siz) print '.........recieved from : ',addr
sleep(3)
#Decode the DNS data
decoded = DNS(data)
#Print the decoded packet
decoded.show()

对于您问题中的原始数据包,此打印:

###[ DNS ]###
id = 22050
qr = 0L
opcode = QUERY
aa = 0L
tc = 0L
rd = 1L
ra = 0L
z = 0L
rcode = ok
qdcount = 1
ancount = 0
nscount = 0
arcount = 0
\qd \
|###[ DNS Question Record ]###
| qname = 'teredo.ipv6.microsoft.com.'
| qtype = 12288
| qclass = 256
an = None
ns = None
ar = None
###[ Raw ]###
load = '\x01'

Scapy 安装说明在这里:http://www.secdev.org/projects/scapy/doc/installation.html#installing-scapy-v2-x

如果你使用 ubuntu,只需 sudo apt-get install python-scapy

尽情享受吧!

关于dns - 人类可读的 DNS 查找形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6567467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com