我正在阅读“Black Hat Python”这本书,并且在端口80上遇到与127.0.0.1的UDP连接问题。我对这些东西很新,所以我不能简单地坐下来快速有效地排除故障,所以我希望有人能够指出错误或者可能只是我的设置。我正在使用VMware Fusion在Kali VM中对此进行测试。套接字保持打开状态并等待响应,但从未收到响应。
import socket
target_host = "127.0.0.1"
taget_port = 80
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto("AAABBBCCC", (target_host, taget_port))
data, addr = client.recvfrom(4096)
print data
答案 0 :(得分:2)
在同一个线程中存在客户端和服务器的架构非常不寻常。我不推荐它。
然而,如果.bind()
套接字到目标地址,您的程序将按照您想要的方式工作:
import socket
target_host = "127.0.0.1"
target_port = 8000
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.bind((target_host, target_port))
client.sendto("AAABBBCCC", (target_host, target_port))
data, addr = client.recvfrom(4096)
print data