сокет не получает номер порта и адрес в коде ниже, я не знаю, почему - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь получить данные из сокета, но, похоже, сокет не получает никаких данных.Есть ли проблема, я не понимаю, почему он не получает номер порта и адрес

def startMyDNS():
    sock = socket(AF_INET, SOCK_DGRAM)
    sock.bind(('0.0.0.0', 55553))
    print "STARTING DNS\n"

    while secret_Received !=1:
        bytesReq , addr = sock.recvfrom(1024)
        sPort = addr[1]
        dnsReq = DNS(bytesReq)
        qId = dnsReq.id

        assert dnsqtypes[dnsReq[DNSQR].qtype]=='A', dnsReq[DNSQR].qtype
        query = dnsReq[DNSQR].qname.decode('ascii')
        if query[-1] == '.': #check if last character of domain requested is a dot
            query = query[:-1]
        assert query == myDomain
        #create an authoritative DNSResp for "badguy.ru"
        dnsResp = DNS(id = dnsReq.id, ancount=1, qr=1, rd=0, aa=1, an = DNSRR(rrname=myDomain, type='A', rdata=fakeBank_Ip, ttl=3600) )
        #send the response
        sock.sendto(bytes(dnsResp), addr)
        #write source port and query Id
        with open(filename, 'w') as f:
            f.write(str(sPort)+','+str(qId))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...