使用STUN将UDP发送到nat后面的客户端
我想测试stun客户端/服务器以及从服务器端到客户端发送udp流量 我在本地机器上运行stun客户端,得到以下结果使用STUN将UDP发送到nat后面的客户端,udp,stun,Udp,Stun,我想测试stun客户端/服务器以及从服务器端到客户端发送udp流量 我在本地机器上运行stun客户端,得到以下结果 Lenovo-Z50-70:~/iop-bb$ stun -v my_stun_server STUN client version 0.96 Opened port 22948 with fd 3 Opened port 22949 with fd 4 Encoding stun message: Encoding ChangeRequest: 0 About to send
Lenovo-Z50-70:~/iop-bb$ stun -v my_stun_server
STUN client version 0.96
Opened port 22948 with fd 3
Opened port 22949 with fd 4
Encoding stun message:
Encoding ChangeRequest: 0
About to send msg of len 28 to 212.227.107.179:3478
Encoding stun message:
Encoding ChangeRequest: 4
About to send msg of len 28 to 212.227.107.179:3478
Encoding stun message:
Encoding ChangeRequest: 2
About to send msg of len 28 to 212.227.107.179:3478
Received stun message: 88 bytes
MappedAddress = 41.224.250.29:22948
SourceAddress = 212.227.107.179:3478
ChangedAddress = 127.0.0.1:3479
XorMappedAddress = 41.224.250.29:22948
ServerName = Vovida.org 0.96
Received message of type 257 id=1
这是否在之前从该客户机或使用地址“41.224.250.29 22944”收到任何数据包?否则,客户端NAT将不允许此传入流量,除非它是一个完整的锥形NAT。同样重要的是,客户机正在使用一个套接字,该套接字准备从该外部源接收任何数据包。基本上,您必须确保该外部源具有绑定。您需要在两侧匹配端口,并在获得公共ip和端口后执行打孔步骤 您运行了一个stun客户端,该客户端在本地端口22948上侦听服务器(在端口3478上侦听)。从该端口向服务器发送stun绑定请求 服务器返回一个响应,表明您的公共ip:端口为
41.224.250.2922948 现在您知道本地ip(例如192.168.1.2)映射到41.224.250.29,本地端口22948映射到公共端口22948 理论上,您可以在客户端端口22948和服务器3478之间开始通信,但服务器已经在使用3478。您需要使用从晕眩响应中获得的相同端口执行打孔步骤 打孔步骤与你的其他服务是这样的。客户端从端口22948发送到服务器(例如端口9876) 服务器可能会响应:
echo "I see you" | nc -p 9876 41.224.250.29 22948
echo "I see you" | nc -p 9876 41.224.250.29 22948