python 实现dns请求,dns_request(socket getaddrinfo whiel)

#coding:UTF-8
#socket.getaddrinfo(host,  port, family=0, socktype=0, proto=0, flags=0)    
#根据给定的参数host/port,相应的转换成一个包含用于创建socket对象的五元组,    
#参数host为域名,以字符串形式给出代表一个IPV4/IPV6地址或者None.    
#参数port如果字符串形式就代表一个服务名,比如“http”"ftp""email"等,或者为数字,或者为None    
#参数family为地主族,可以为AF_INET  ,AF_INET6 ,AF_UNIX.    
#参数socketype可以为SOCK_STREAM(TCP)或者SOCK_DGRAM(UDP)    
#参数proto通常为0可以直接忽略,就是指定协议。套接口所用的协议。如调用者不想指定,可用0。常用的协议有,IPPROTO_TCP(=6)和IPPTOTO_UDP(=17),它们分别对应TCP传输协议、UDP传输协议。    
#参数flags为AI_*的组合,比如AI_NUMERICHOST,它会影响函数的返回值    
#附注:给参数host,port传递None时建立在C基础,通过传递NULL。    
#该函数返回一个五元组(family, socktype, proto, canonname, sockaddr),同时第五个参数sockaddr也是一个二元组(address, port)    
# Echo server program    
import sys,socket
domain='www.baidu.com'
x=0
n=1
while x<n:
result=socket.getaddrinfo(domain,53,socket.AF_INET,socket.SOCK_DGRAM,17,0)
print result
num=len(result)
#print num
a=0
print domain
while a<num:
i=result[a][4][0]
print i
a=a+1
#print a

x=x+1

 

ps:注释部分为网上资料

转载于:https://www.cnblogs.com/lf-watermelon/p/6509246.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值