ВОПРОС · Q&A

Как открыть на компьютере порт если все закрытые?

33 ответов 9,5 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Вопрос конечно немного тривиальный но уже несколько дней не могу этого сделать...
Сразу скажу что антивируса на компе нет (по крайней мере "установка и удаление" не отображает ничего подозрительного как и программа securitysoftview), нужный мне порт добавлял в исключение и саму программу которая должна передавать данные тоже, отключал фаервол... Пробовал сканировать порты множеством программ - безрезультатно. Пробовал просто NETSTAT -oan - порт который я открыл видел и он слушается но по локальной сети подключиться не могу... Естественно TELNET-отм тоже не могу прослушать порт...
Что блокирует соединение и как его открыть?
 
Может не на том интерфейсе твоя программа слушает?(127.0.0.1 или 0.0.0.0)
 
Может не на том интерфейсе твоя программа слушает?(127.0.0.1 или 0.0.0.0)
Я пишу программу клиент-сервер используя ServerSocket (не знаю нужно ли вам оно). Когда делаю просмотр NETSTAT-ом то вижу такое
0.0.0.0:48898
Моя же программа тоже показывает (0.0.0.0)
 
Локальная сеть как устроена? Находясь на одном компе клиент к серверу подключается?
 
Локальная сеть как устроена? Находясь на одном компе клиент к серверу подключается?
Да если клиент и сервер запущены на одном компьютере то все работает. Это локальная одноранговая сеть...
 
Да если клиент и сервер запущены на одном компьютере то все работает. Это локальная одноранговая сеть...
Через маршрутизатор или компьютер->компьютер? traceroute c клиента есть чем проверить, что показывает?
 
Через маршрутизатор или компьютер->компьютер? traceroute c клиента есть чем проверить, что показывает?

Код:
C:\Users\test>tracert 172.17.40.179

Трассировка маршрута к 3000 [172.17.40.179]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  172.17.111.5
  2     1 ms     2 ms     2 ms  3000 [172.17.40.179]

Трассировка завершена.

Через маршрутизатор или компьютер->компьютер?
Соединение идет через роутер
 
нужный мне порт добавлял в исключение и саму программу которая должна передавать данные тоже, отключал фаервол... Пробовал сканировать порты множеством программ - безрезультатно.
На запущенном порту должна работать какая-то программа или сервис.
Если на этот порт не передаётся никаких данных с "сервера", то и результаты сканирования будут отсутствовать.
 
Тепер даже хз) Надо обдумать. возможно из-за разных рабочих групп такая фигня, но у тебя клиент видит сервер.
 
На запущенном порту должна работать какая-то программа или сервис.
Если на этот порт не передаётся никаких данных с "сервера", то и результаты сканирования будут отсутствовать.
данный порт "поднимает" программа которая ждет подключения клиента. Как только клиент подсоединился начинается обмен информацией.
Код:
  Имя    Локальный адрес        Внешний адрес          Состояние       PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       516
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       7268
  TCP    0.0.0.0:5800           0.0.0.0:0              LISTENING       6040
  TCP    0.0.0.0:5900           0.0.0.0:0              LISTENING       6040
  TCP    0.0.0.0:5985           0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:48898          0.0.0.0:0              LISTENING       3700
 
На запущенном порту должна работать какая-то программа или сервис.
Если на этот порт не передаётся никаких данных с "сервера", то и результаты сканирования будут отсутствовать.
Дык у него сервис запущен и нетстат показывает прослушиваемый порт.
 
А почему ты решил, что что-то блокирует соединение?

0.0.0.0 = 127.0.0.1 = localhost
Не, неправильное уравнение. 0.0.0.0 = 172.17.40.179 = 127.0.0.1 , а 127.0.0.1 равно только локалхосту.
 
А почему ты решил, что что-то блокирует соединение?

Я считаю что если сервер запущен и клиент не может подключиться к серверу значит что то блокирует соединение. Если же поменять местами клиент и сервер то все работает хорошо.
На других компьютерах тоже все работает. Как вариант может нужная для общения служба отключена?
 
Я считаю что если сервер запущен и клиент не может подключиться к серверу значит что то блокирует соединение. Если же поменять местами клиент и сервер то все работает хорошо.
На других компьютерах тоже все работает. Как вариант может нужная для общения служба отключена?
Т.е если запускать клиент в той же сети с 172.17.40.179->сервер, то всё работает, а если наоборот, то нет?
 
Не, неправильное уравнение. 0.0.0.0 = 172.17.40.179 = 127.0.0.1 , а 127.0.0.1 равно только локалхосту.
172.17.40.179 входит в пул частных "серых" ip адресов
Если указать один из них, то соединение будет идти через роутер,
а если localhost или 127.0.01, компьютер будет выступать роутером сам.
localhost = 127.0.0.1
С 0.0.0.0 я погорячился.

Я считаю что если сервер запущен и клиент не может подключиться к серверу значит что то блокирует соединение.
Какими средствами ты запускаешь его?
Если это linux попробуй просто обмен netcat'ом

В одной консоли запусти сервер на приём данных на порту 11223
nc -l -p 11223 > /tmp/test_nc
А в другой отправь какой-нибудь файл
nc 127.0.0.1 11234 < test.txt

И посмотри, что будет в файле /tmp/test_nc
Если там данные появятся, значит, проблема в коде.
 
Если это linux попробуй просто обмен netcat'ом
Винда это) ключевые слова "антивирус", "фаирвол" и нетстат капсом. Но мне интересно докопатся до сути, если ТС не забьёт)
 
Последнее редактирование:
Т.е если запускать клиент в той же сети с 172.17.40.179->сервер, то всё работает, а если наоборот, то нет?
Есть компьютер на котором стоит программа сервер и есть другой на котором стоит программа клиент, в такой конфигурации обмен данными не идет. Если же на компьютер где стоит сервер установить клиент, а на компьютер где стоит клиент установить сервер - то все работает. То есть если между двумя пк поменять местами программы то все работает. Зараза....
 
Есть компьютер на котором стоит программа сервер и есть другой на котором стоит программа клиент, в такой конфигурации обмен данными не идет. Если же на компьютер где стоит сервер установить клиент, а на компьютер где стоит клиент установить сервер - то все работает. То есть если между двумя пк поменять местами программы то все работает. Зараза....
Если поменять порт, проблема остаётся?
На "проблемном" компьютере один сетевой интерфейс?
 
172.17.40.179 входит в пул частных "серых" ip адресов
Если указать один из них, то соединение будет идти через роутер,
а если localhost или 127.0.01, компьютер будет выступать роутером сам.
localhost = 127.0.0.1
С 0.0.0.0 я погорячился.


Какими средствами ты запускаешь его?
Если это linux попробуй просто обмен netcat'ом

В одной консоли запусти сервер на приём данных на порту 11223
nc -l -p 11223 > /tmp/test_nc
А в другой отправь какой-нибудь файл
nc 127.0.0.1 11234 < test.txt

И посмотри, что будет в файле /tmp/test_nc
Если там данные появятся, значит, проблема в коде.

на одной машине стоит Windows 10, на другой - XP.
Сейчас попробую установить netcat
 

Ещё по теме