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

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

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

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

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

1 ответ1

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. IP-порт Telnet, например, telnet 192.168.1.1 1234 Клиент Telnet в Win7 должен быть включен. Или вы могли бы с помощью cygwin использовать команду nc для подключения к серверу. Итак, 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .