
Я запускаю простое сканирование портов в своей системе и не знаю, запутался я или нет.
После пробежки lsof -i
мои результаты:
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD РАЗМЕР УСТРОЙСТВА/ВЫКЛ ИМЯ УЗЛА firefox-e 8008 legion 43u IPv4 96999 0t0 TCP KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https (УСТАНОВЛЕНО) firefox-e 8008 legion 67u IPv4 84170 0t0 TCP KryptL0c:52778->ord37s09-in-f10.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 94u IPv4 93549 0t0 TCP KryptL0c:56526->ord37s35-in-f1.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 98u IPv4 89869 0t0 TCP KryptL0c:47874->ec2-52-86-133-10.compute-1.amazonaws.com:https (УСТАНОВЛЕНО) firefox-e 8008 legion 126u IPv4 98838 0t0 TCP KryptL0c:40792->ord38s28-in-f10.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 131u IPv4 98839 0t0 TCP KryptL0c:41878->ord38s01-in-f10.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 133u IPv4 88016 0t0 TCP KryptL0c:44998->server-99-84-167-136.ord52.r.cloudfront.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 176u IPv4 88018 0t0 TCP KryptL0c:51574->ord37s18-in-f2.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 179u IPv4 86297 0t0 TCP KryptL0c:46752->142.250.123.157:https (УСТАНОВЛЕНО) firefox-e 8008 legion 184u IPv4 84401 0t0 TCP KryptL0c:40262->ord38s08-in-f2.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 187u IPv4 92092 0t0 TCP KryptL0c:38700->ord38s28-in-f1.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 193u IPv4 89558 0t0 TCP KryptL0c:40714->ord37s09-in-f2.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 199u IPv4 90795 0t0 TCP KryptL0c:47760->136.144.59.88:https (УСТАНОВЛЕНО) firefox-e 8008 legion 201u IPv4 90789 0t0 TCP KryptL0c:40586->server-99-84-253-65.ord50.r.cloudfront.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 210u IPv4 90803 0t0 TCP KryptL0c:41732->lga15s49-in-f4.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 214u IPv4 90805 0t0 TCP KryptL0c:45540->rio01s25-in-f3.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 221u IPv4 97886 0t0 TCP KryptL0c:41752->ord37s07-in-f14.1e100.net:https (УСТАНОВЛЕНО) firefox-e 8008 legion 301u IPv4 92423 0t0 TCP KryptL0c:59832->ord38s04-in-f2.1e100.net:https (УСТАНОВЛЕНО)
В первой строке порт 44376, правильно?
Если это верно и эти службы установлены в моей системе, почему при запуске сканирования портов nmap -p 1-65535 xxx.xxx.x.xxx
я получаю результат «открытых портов нет»?
решение1
В первой строке порт 44376, правильно?
Да, локальный порт — 44376. Однако вы смотрите на установленное соединение между вашей системой и удаленным хостом. Наличие соединения на каком-либо порту не означает, что на этом порту есть прослушивающий сокет.
Здесь, поскольку локальный порт имеет высокий номер (>40 000), а удаленный порт — 443 (HTTPS), мы можем с высокой степенью уверенности сделать вывод, что это исходящее соединение с некоторой службой HTTPS в Интернете.
Я предполагаю, что вы используете macOS или BSD.
Рассмотрим следующие примеры реальных прослушивателей (поэтому -P
порты не преобразуются в «известные имена портов»):
$ lsof -i udp -P
…
syncthing 16758 fuzzy 7u IPv6 0xd2b0d06f6f1a443d 0t0 UDP *:22000
…
$ lsof -i tcp -P
…
syncthing 16758 fuzzy 17u IPv6 0xd2b0d06f70a57bfd 0t0 TCP *:22000 (LISTEN)
…
Как видите, их легко отличить: у них нет удаленных конечных точек. Поскольку в TCP есть надлежащее состояние «Прослушивание», оно также явно указано. С UDP все не так просто.
Если бы я запустил NMAP для TCP-порта 22000, он бы сообщил, что открыт.
решение2
KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
В этом случае мы можемвывестичто соединение указывает от клиента host:port source KryptL0c:44376
к ->
серверу назначения host:port ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
, поскольку https — известная служба.
Исходные порты используются для исходящих клиентских подключений и не имеют служб, прослушивающих их, поэтому они не отображаются как открытые. Например, каждое подключение веб-браузера к веб-серверу будет использовать другой клиентский/исходный порт для открытия сетевого подключения. Порт будет автоматически закрыт при закрытии подключения, и для следующего подключения будет использоваться новый порт. Исходные порты обычно имеют высокие номера, выше 32768.
Кроме того, общие номера портов служб преобразуются в имена, например https
(порт 443), с помощью файла /etc/services и часто могут не отображаться в виде чисел в выходных данных, подобных этому.