CVE-2015-7547python脚本运行问题修改

本文介绍了一位工程师在Windows环境下运行Python DNS测试脚本时遇到的10054异常问题及解决方法。通过增加异常处理代码,解决了recvfrom函数在特定情况下引发的错误,确保了脚本稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了验证自己使用的C库是否存在dns缓冲区益处漏洞,从https://github.com/fjserna/CVE-2015-7547

下载了测试代码进行验证。但将python脚本不是到windows上运行时,总是出现10054异常。

后来,修改脚本增加recvfrom的异常处理。

while not terminate:
    print 'start recv'
    try:#增加的
      data, addr = sock_udp.recvfrom(1024)
    except socket.error, e:#增加的
      print "recvfrom err:",e#增加的
      sock_udp.close()#增加的
      sock_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#增加的
      sock_udp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)#增加的
      sock_udp.bind((IP, 53))#增加的
      continue#增加的

      id_udp = struct.unpack('>H', data[0:2])[0]
      query_udp = data[12:]
      调试后运行OK 。

start recv
[UDP] Total Data len recv 36
len(answers) 1
start recv
[UDP] Total Data len recv 36
len(answers) 2
sleep over
1sendto over
Connected with 192.168.1.1:60017
[TCP] Total Data len recv 76
[TCP] Request1 len recv 36
[TCP] Request2 len recv 36
wait over
2sendto over
start recv
recvfrom err: [Errno 10054]
start recv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值