Я провожу простое сканирование портов в своей системе и не знаю, запутался я или нет.
После запуска lsof -i
и мои результаты:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME firefox-e 8008 legion 43u IPv4 96999 0t0 TCP KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https (ESTABLISHED) firefox-e 8008 legion 67u IPv4 84170 0t0 TCP KryptL0c:52778->ord37s09-in-f10.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 94u IPv4 93549 0t0 TCP KryptL0c:56526->ord37s35-in-f1.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 98u IPv4 89869 0t0 TCP KryptL0c:47874->ec2-52-86-133-10.compute-1.amazonaws.com:https (ESTABLISHED) firefox-e 8008 legion 126u IPv4 98838 0t0 TCP KryptL0c:40792->ord38s28-in-f10.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 131u IPv4 98839 0t0 TCP KryptL0c:41878->ord38s01-in-f10.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 133u IPv4 88016 0t0 TCP KryptL0c:44998->server-99-84-167-136.ord52.r.cloudfront.net:https (ESTABLISHED) firefox-e 8008 legion 176u IPv4 88018 0t0 TCP KryptL0c:51574->ord37s18-in-f2.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 179u IPv4 86297 0t0 TCP KryptL0c:46752->142.250.123.157:https (ESTABLISHED) firefox-e 8008 legion 184u IPv4 84401 0t0 TCP KryptL0c:40262->ord38s08-in-f2.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 187u IPv4 92092 0t0 TCP KryptL0c:38700->ord38s28-in-f1.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 193u IPv4 89558 0t0 TCP KryptL0c:40714->ord37s09-in-f2.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 199u IPv4 90795 0t0 TCP KryptL0c:47760->136.144.59.88:https (ESTABLISHED) firefox-e 8008 legion 201u IPv4 90789 0t0 TCP KryptL0c:40586->server-99-84-253-65.ord50.r.cloudfront.net:https (ESTABLISHED) firefox-e 8008 legion 210u IPv4 90803 0t0 TCP KryptL0c:41732->lga15s49-in-f4.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 214u IPv4 90805 0t0 TCP KryptL0c:45540->rio01s25-in-f3.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 221u IPv4 97886 0t0 TCP KryptL0c:41752->ord37s07-in-f14.1e100.net:https (ESTABLISHED) firefox-e 8008 legion 301u IPv4 92423 0t0 TCP KryptL0c:59832->ord38s04-in-f2.1e100.net:https (ESTABLISHED)
В первой строке порт 44376, верно?
Если это правильно и эти службы установлены в моей системе, почему, когда я запускаю сканирование портов с помощью nmap -p 1-65535 xxx.xxx.x.xxx
У меня нет открытых портов?
2 ответа
В первой строке порт 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, он сообщил бы, что он открыт.
KryptL0c:44376->ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
В этом случае мы можем сделать вывод что точки подключения от клиентского хоста: источник порта KryptL0c:44376
к ->
хост сервера назначения: порт ec2-34-212-188-196.us-west-2.compute.amazonaws.com:https
, потому что https — это известный сервис.
Исходные порты используются для исходящих подключений на стороне клиента и не имеют служб, прослушивающих их, поэтому они не отображаются как открытые. Например, каждое подключение веб-браузера к веб-серверу будет использовать другой порт клиент / источник для открытия сетевого подключения. Порт будет закрыт автоматически, когда соединение будет закрыто, и новый порт будет использован для следующего соединения. Исходные порты обычно имеют большое число, превышающее 32768.
Кроме того, общие номера служебных портов преобразуются в такие имена, как https
(это порт 443) с использованием файла / etc / services, и часто может не отображаться в виде чисел в таких выводах.
- 1
Стрелка всегда слева направо, от локального к удаленному, это все. Вы не можете легко определить, какая сторона инициировала соединение, потому что после установления TCP-соединения два конца становятся одноранговыми. Даже наличие или отсутствие локального процесса, прослушивающего данный порт, не может быть твердым ключом к разгадке, потому что порт мог или не мог прослушиваться во время установления соединения. Когда локальный порт высокий (
52778
) и удаленный порт хорошо известен (https
) то почти наверняка он исходящий. Это единственная подсказка. Сама стрелка говорит ничего такого .— Камил Мациоровски
22 часов назад