Назад | Перейти на главную страницу

Порт открыт на машине A, но не виден с машины B в Nmap

У меня есть виртуализированная машина CentOS с программным обеспечением, которое прослушивает порт 8080. Я отключил SELinux и сбросил все iptables (так что теперь нет никаких правил). Я проверил с netstat -nap | grep 8080 что порт действительно открыт и он есть. IP-адрес 192.168.1.3.

С другой моей машины я хотел бы подключиться к этому порту с помощью программы, но это не удается. При беге nmap -p 8080 192.168.1.3 там написано, что порт закрыт!

Когда я проверяю с помощью Wireshark, я вижу, что подключающийся компьютер отправляет пакет SYN, но отвечающий компьютер (с IP 192.168.1.3) отвечает SYN / RESET и прерывает соединение и не отвечает SYN / ACK и, таким образом, продолжает передающий. Порядковый номер правильный, отправляющий компьютер отправляет 0, а принимающий получает 1.

Странно то, что другие порты могут быть обнаружены Nmap как открытые с клиентской машины, но не 8080.

Что может быть не так?

РЕДАКТИРОВАТЬ:

Хорошо, я не знаю, во что верить сейчас. Вот что я обнаружил:
Программа, которая прослушивает 8080 на «серверной машине» (назовем ее так), представляет собой настраиваемый веб-сервис, встроенный в Java (с использованием сторонних библиотек, таких как EclipseLink и т. Д.). При выполнении nmap localhost на "серверной машине" порт может быть открыт. При выполнении nmap 192.168.1.3 с "клиентской машины" он находит порт закрытым (как описано выше).
И новое открытие: я только что сделал простое Java-приложение, которое просто использует класс ServerSocket для прослушивания на 8080, и ТОГДА порт доступен для обнаружения с «клиентской машины». Итак, это что-то с приложением веб-сервиса? Почему порт может быть обнаружен с «серверной машины» (при сканировании - с localhost), но не с «клиентской машины» при запуске веб-службы? И почему порт 8080 может быть обнаружен с ОБЕИХ машин при запуске простого java-приложения, которое прослушивает 8080?

netstat -ntpl
tcp    0    0 ::ffff:127.0.0.1:8080    :::*    LISTEN 3481/java



РЕДАКТИРОВАТЬ 2:
Глупый я! Теперь я вижу, ::ffff:127.0.0.1:8080 означает, что программа доступна только с localhost! :-D
Где мне изменить, чтобы он слушал всех?

Если это старая версия centos, это может быть проблема с "/etc/hosts.{allow,deny}", но если у нее есть iptables, она, вероятно, их не использует. Проверьте, существуют ли эти файлы.

Может порт 8080 привязан где-то еще?

На хост-машине?

В любом случае, покажите конфигурацию сети, виртуальные машины в мосту?