LINUX.ORG.RU

История изменений

Исправление 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, поэтому надо начинать с попытки приконнектиться к нему.