Нужно ли регистрировать порты, которые я использую, в файле drivers \ etc \ services?

2

Я работаю над службой Windows, которая использует порты для обсуждения с клиентскими приложениями.

Я видел, что порты, используемые Windows, зарегистрированы в C:\Windows\System32\drivers\etc\services файл, а также порты, используемые некоторыми приложениями, не разработанными Windows.

Должен ли я добавить порты, которые моя служба использует в этом файле? Это в любом случае полезно, или только для информации?

Otiel
источник

Ответы:

3

Этот файл в основном просто копия /etc/services из старой версии BSD - поскольку Windows использует один и тот же API-интерфейс «BSD-сокеты» и даже используется в различных клиентских программах ( FTP , телнет , RSH , Палец команды) от него, это нужно services файл для того, чтобы getservbyname() функция для работы.

В Unix различные интернет-серверы и клиенты звонили getservbyname() выяснить, какой порт они должны слушать; getservbyname("finger", "tcp") вернет порт 79. Но когда /etc/hosts был заменен DNS, /etc/services не было - поэтому он быстро устареет, так как количество сайтов выросло.

Я предполагаю, что из-за этого программы перестали использовать getservbyname() и вместо этого начал использовать свои собственные файлы конфигурации или номера портов. Я думаю только Inetd демон (и его Xinetd преемник) по-прежнему использует имена служб как часть своей конфигурации. И только старые клиенты любят телнет или же FTP используйте имена сервисов для подключения.

В наши дни файл в основном информационный - например, netstat Программа может преобразовывать порты в имена служб, так же, как она переводит IP-адреса в имена хостов.

$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:pulse-native          *:*                     LISTEN     
tcp6       0      0 [::]:mpd                [::]:*                  LISTEN     
tcp6       0      0 [::]:pulse-native       [::]:*                  LISTEN     
tcp6       0      0 [::]:netbios-ssn        [::]:*                  LISTEN     
tcp6       0      0 [::]:finger             [::]:*                  LISTEN     
tcp6       0      0 [::]:auth               [::]:*                  LISTEN     

В Windows, я уверен, файл используется еще меньше - я не могу вспомнить ни одну программу, которая использует его, кроме той же FTP а также телнет инструменты.

grawity
источник
SAP NetWeaver RFC C ++ SDK использует файл служб для считывания своих портов spagw, связанных с экземплярами SAP.
thersch