История изменений
Исправление Deleted, (текущая версия) :
#!/usr/bin/python2
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((BIND_IP,10222))
sock.connect((REMOTE_IP,10222))
sock.send("hello")
data=sock.recv(1024)
print data
sock.close()
Такой код пробивает нат, результат - «hello» в консоли. Запускать надо с двух сторон. BIND_IP - локальный адрес, с которого соединение уходит и на который должно придти, REMOTE_IP - внешний адрес удаленного ната. Один из натов дропает весь «неизвестный» трафик, поэтому не посылает RST, поэтому надо начинать с попытки приконнектиться к нему.
Оба ната работают на линуксе, за другие ОС говорить не берусь.
Исходная версия Deleted, :
#!/usr/bin/python2
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((BIND_IP,10222))
sock.connect((REMOTE_IP,10222))
sock.send("hello")
data=sock.recv(1024)
print data
sock.close()
Такой код пробивает нат, результат - «hello» в консоли. Запускать надо с двух сторон. BIND_IP - локальный адрес, с которого соединение уходит и на который должно придти, REMOTE_IP - внешний адрес удаленного ната. Один из натов дропает весь «неизвестный» трафик, поэтому не посылает RST, поэтому надо начинать с попытки приконнектиться к нему.