Как узнать эфемерный порт для службы?

set -e
trap "do your custom stuff here" EXIT
...
# now whenever there's an error condition, due to the set -e, the script will exit
# and upon this exit, the trap custom message shall be activated.
4
11.02.2018, 23:46
3 ответа

Что касается эфемерных портов:

The Internet Assigned Numbers Authority (IANA) suggests the range 49152 to 65535 (215+214 to 216−1) for dynamic or private ports. Many Linux kernels use the port range 32768 to 61000

Глядя на пункт назначения в кортеже TCP/IP, как в примере, который вы спрашиваете:

udp        0      0 192.168.1.25:41136      61.216.153.106:123

Вы можете видеть, что это текущая машина, использующая службу NTP UDP/123 на удаленном сервере.

Или это ваша машина отправляет запрос NTP на сервер NTP в Китае.

На самом деле все эти 4 строки — это подключения к серверам NTP в Китае.

Обычно в большинстве протоколов, когда служба известного порта находится на вашей стороне (первой ), вы обычно являетесь сервером, принимающим соединение, а эфемерный порт находится на правой стороне; когда наоборот, часто именно ваш сервер использует удаленную службу.

(Ваш сервер находится в Китае? В противном случае я бы беспокоился о возможном вредоносном ПО)

Вы также можете отключить -nдля разрешения IP-адресов/DNS и имен служб, однако имейте в виду, что это приводит к заметной задержке на машине/сервере с большим количеством подключений (и/или с медленным DNS служба ). Чтобы почувствовать разницу, я адаптировал исходный вывод netstatдля возможного вывода без-n:

$netstat -a | grep ESTABLISHED
udp        0      0 mylinux:41136      vns1.hinet.net:ntp        ESTABLISHED
udp        0      0 mylinux:59141      DNS1.SYNET.EDU.CN:ntp     ESTABLISHED
udp        0      0 mylinux:53680      rdns1.alidns.com:ntp      ESTABLISHED
udp        0      0 mylinux:34255      ns1.htudns.com:ntp        ESTABLISHED
11
27.01.2020, 20:44

Как видно изnetstat(net work stat istics )output,

Proto Recv-Q Send-Q Local Address           Foreign Address         State   
udp        0      0 192.168.1.25:41136      61.216.153.106:123      ESTABLISHED

192.168.1.25— ваш локальный/исходный IP-адрес в локальной сети.

41136— номер исходного порта.

61.216.153.106— IP-адрес назначения.

123— это номер порта назначения, который представляет протокол сетевого времени (NTP )

.

Номер порта источника(41136)аналогичен порту назначения(123или NTP), но используется хостом-отправителем(192.168.1.25)для отслеживания новых входящих соединений и существующих потоков данных.

Как правило, клиенты/исходный адрес(192.168.1.25)устанавливают номер исходного порта как уникальный номер, который они выбирают сами -, обычно на основе программы, запустившей соединение.

В этом случае номер исходного порта, выбранный вашим компьютером, будет 41136.

Это число является случайным и обычно превышает 1024.

Посмотрите на другой пример. В этом случае все порты назначения — это UDP 123, который является NTP, в то время как номер исходного порта отличается и является случайным.

Proto Recv-Q Send-Q Local Address           Foreign Address         State   
udp        0      0 192.168.1.25:59141      202.112.29.82:123       ESTABLISHED
udp        0      0 192.168.1.25:53680      115.28.122.198:123      ESTABLISHED
udp        0      0 192.168.1.25:34255      42.51.22.35:123         ESTABLISHED
5
27.01.2020, 20:44

Вы можете использовать netstat -p, чтобы получить pid и имя программы, которая открыла порт на локальной стороне; это можно комбинировать с -aи -n, как обычно.

В большинстве систем для этого необходимы привилегии суперпользователя.

10
27.01.2020, 20:44

Теги

Похожие вопросы