Сырое сканирование Nmap не работает через VPN, а подключение -sT работает?
Сырое сканирование пакетов и обычное TCP-подключение требуют разных прав. Сначала выполните проверку подключения, прочитайте каждый флаг буквально, затем остановитесь на результате.
Страница загружается через туннель, а сканирование портов сообщает, что узел недоступен, и первая мысль — что VPN что-то блокирует. Обычно он не блокирует ничего нового. Обе проверки запрашивают у операционной системы разные возможности, и только одной нужен сырой доступ к пакетам. Определите, какая возможность отказала, прежде чем трогать туннель.
Отделите возможность от туннеля
Обычное приложение просит ядро открыть TCP-соединение, и ядро выполняет рукопожатие без особых прав. Сырое сканирование само строит пакеты, а для этого нужен сырой сокет или драйвер перехвата в зависимости от платформы. Это вопросы прав и драйверов, и они существуют независимо от того, подключён VPN или нет.
Это различие объясняет обычную асимметрию. curl успешен, потому что путь сокета работает, а SYN-сканирование не работает, потому что процесс не может открыть сырой сокет на интерфейсе туннеля. Оно объясняет и обратный случай, когда сырое сканирование сообщает об отфильтрованности, потому что путь отбрасывает пробу, а путь приложения остаётся исправным.
Ни один из результатов не описывает удалённую службу. Оба описывают один путь при одном методе, поэтому держите метод привязанным к выводу.
Выполните проверку подключения на одном разрешённом узле
Выберите единственный узел, который охватывает ваша задача, затем используйте режим, не требующий сырого доступа. Пример цели здесь — 198.51.100.24, пространство документации, зарезервированное для такой иллюстрации.
Одна строка, один узел, один порт, без этапа обнаружения:
nmap -sT -Pn -p 443 --unprivileged 198.51.100.24-sT выбирает полное TCP-соединение, поэтому проходит тот же путь ядра, что и приложение, и не требует драйвера перехвата. -Pn пропускает обнаружение узлов; nmap всё равно выполняет разрешение канального уровня для целей в локальном сегменте, так что флаг не обещает нулевого предварительного трафика. --unprivileged говорит nmap исходить из того, что у него нет прав на сырые пакеты или прослушивание, что меняет метод и ничего не даёт.
Читайте каждый флаг как одно изменение, а не как починку
Относитесь к каждой опции как к утверждению о методе. Ни -sT, ни -Pn, ни --unprivileged не добавляет маршрут, не открывает удалённый межсетевой экран и не проверяет сертификат. Сканирование подключением также завершает настоящее рукопожатие, которое служба записывает, поэтому разрешённая проверка и неразрешённое прощупывание выглядят с сервера одинаково, кроме объёма и темпа. Нагромождение опций, пока не изменится вывод, — это способ записать проблему метода как сетевую находку.
Когда вывод говорит «закрыто», что-то ответило сбросом, и это другая находка, чем тишина. Когда вывод говорит «отфильтровано», устройство отбросило пробу или её ответ, и VPN может быть случайностью. Запишите точную формулировку, потому что вердикт этапа обнаружения и сбой на уровне пробы указывают на разные слои.
Если привилегированный режим действительно нужен, владелец платформы решает, поддерживаются ли право, драйвер и схема интерфейсов. Повышение того же вызова не меняет его метод.
Остановитесь на результате транспорта, затем проверьте службу
Завершённое рукопожатие отвечает на один вопрос об одном адресе, порте, источнике и моменте. Оно не доказывает, что бэкенд здоров, потому что балансировщик нагрузки или прямой прокси может принять соединение, пока приложение за ним не работает.
Продолжите собственным клиентом службы, чтобы удостоверение TLS и поведение приложения наблюдались как отдельные факты:
openssl s_client -connect 198.51.100.24:443 -servername staging.example.net </dev/null 2>/dev/null | openssl x509 -noout -subject -dates
curl -sS -o /dev/null -w '%{http_code}\n' https://staging.example.net/healthЕщё одна привычка сохраняет результат полезным. Запишите точную команду, использованный адрес источника и время, потому что результат транспорта без этого контекста нельзя воспроизвести или сравнить.
Если сертификат называет узел, которого вы не ждали, транспорт работал, и маршрутизация никогда не была проблемой; неисправность в виртуальном хостинге или DNS. Если рукопожатие не удалось, запишите локальную строку ошибки вместо обобщений о туннеле. Держите пометку об области рядом с результатом, потому что следующему человеку нужно знать, какой метод его дал.