В наблюдении 1 вы запускаете оболочку, выполняющую logic.sh
каждые 60 секунд в фоновом режиме (&
). Используемая команда netcat
должна отправить данные на ip/порт, но если на удаленном конце никто не слушает (по умолчанию tcp), она завершится с ошибкой.
Когда вы запустили lsof, вы не включили флаг -P
, поэтому он попытался найти каждый из номеров портов, чтобы преобразовать их в имена. Это делается с помощью вызова функции(getservbyport
)через службу имен, настроенную в Linux через /etc/nsswitch.conf
. Обычная конфигурация состоит в том, чтобы указать поиск services
на file
, что означает записи в /etc/services
.
Весьма вероятно, что в вашем файле /etc/services есть эта запись:
tram 4567/tcp # TRAM
... что вы можете подтвердить разными способами, один из которых:grep ^tram /etc/services
Использование lsof -P...
может показаться менее запутанным, поскольку в этом случае номера портов будут сохранены как числа. Соответствующий флаг для имен хостов (здесь, у вас простоlocalhost
)— это -n
.
Номера портов имеют центральный реестр, Internet Assigned Numbers Authority , а именно Реестр номеров портов и имен служб и транспортных протоколов , где вы можете искать 4567 .