Конфликтующие результаты переадресации портов

Конфликтующие результаты переадресации портов

Ой, какая странная ситуация.

Я пытаюсь запустить серверный сокет в программе на Python (кусок кода, не беспокойтесь об этом). Чтобы это работало, мне нужно перенаправить порт для сервера, на котором он будет работать. Я перенаправил порт, который использую для своего кода, следуя инструкциям, подробно описанным на этом сайте для моего маршрутизатора:http://portforward.com/

Когда я использую PFPortChecker (часть PFNetworkUtilites, также с этого сайта), он говорит, что порт, который я перенаправил, действительно открыт как по протоколам TCP, так и по UDP. Однако если я использую любые сайты онлайн-проверки портов, я получаю отрицательный результат. Кроме того, я не могу подключиться с внешних устройств к созданной мной программе, хотя она работала раньше, когда у меня не было этой проблемы с переадресацией портов.

У меня есть маршрутизатор Technicolor TG582n FTTC, и я выполнил переадресацию портов, создав пользовательское приложение и назначив его моему сетевому устройству с помощью утилиты toolbox.

На одном сайте при тестировании сообщалось, что мой порт, возможно, был отфильтрован моим брандмауэром. Однако, когда я полностью отключил брандмауэр и повторно запустил тест на этом сайте, он по-прежнему сообщал, что мой порт был отфильтрован, а другие сайты по-прежнему возвращали отрицательный результат.

решение1

Эту неполадку действительно легко устранить.

Сначала убедитесь, что программа запущена на порту. Поэтому выполните команду

C:\>netstat -aon <ENTER>

или

C:\>netstat -aon | find "1234"<ENTER> <--- если ваш порт — порт 1234

Видите, он показывает 0.0.0.0:1234

Вы всегда можете запустить сервер на порту, например nc в cygwin, nc -l 1234или вы можете попробовать любой сервер.. BRS Webweaver, BPFTP, Apache, ssh VNC, какой бы ни был ваш сервер. Ваша серверная программа в порядке.

Теперь попробуйте подключиться к вашему серверу. Вы можете использовать telnet. Telnet ip port, например, telnet 192.168.1.1 1234 клиент Telnet в Win7 должен быть включен. Или вы можете использовать команду nc с cygwin для подключения к серверу. так что nc 192.168.1.1 1234 посмотрите, подключается ли он.

Посмотрите, сможете ли вы подключиться с самого устройства, сделайте это. nc 127.0.0.1 1234

После проверки вы сможете подключиться по локальной сети.

Только после того, как вы сможете подключиться из локальной сети, вы можете выполнить переадресацию портов.

Глядя на описание программы, которую вы упомянулиhttp://portforward.com/help/portcheck.htm Он говорит, что создает свою собственную программу на порту, который вы тестируете. Так что если вы обнаружите, что она дает вам зеленый свет, но онлайн-сканеры портов не дают, то, возможно, ваша программа не прослушивает порт.

Вам нужно проверить

A)Is your server rujnning.  shown in netstat 0.0.0.0 with port.
B)Can you connect to your server locally 
C)Can you connect from LAN (if not then an OS firewall is stopping you
D)THEN, look at port forwarding

Связанный контент