Я никогда толком не изучал сетевое программирование и подобные вещи.
Знаю только самые основные вещи, такие как IP-адрес, и имею лишь смутное представление о том, что такое порты и TCP/IP.
Здесь я подключился к серверу моей лаборатории:
и мне стало интересно все это сетевое дело и я попробовал командуnetstat
Я понимаю, что это списки всех портов, которые включены/выключены на сервере.
Единственное, чего я не понимаю, так это почему часть «внешний адрес» отображается как «localhost:xxxxx», а не что-то вроде «101.239.49.1» для портов, которые «ESTABLISHED»
Также не могли бы вы объяснить, что означает 'x11-ssh-offset'? Я предполагаю, что этот порт используется для ssh-связи с другими компьютерами.
почему, черт возьми, это называется «смещение»?
P.S. Было бы здорово, если бы вы могли дать мне несколько ключевых слов, которые помогли бы мне двигаться в правильном направлении для изучения таких вопросов.
решение1
Часть после двоеточия — этономер порта, и он не всегда отображается как число, так как есть списокизвестные портыиспользуется в /etc/services
, поэтому вам не нужно запоминать, является ли 22 ssh
или telnet
. (Обратное тоже работает — вы можете сказать telnet localhost http
http и он поймет, что это означает «порт 80».) Параметр netstat --numeric-ports
отключит это.
Что касается IP-адресов, возможно, вы просто посмотрели на момент времени, когда большинство подключений действительно были к вашей машине. netstat сделаетобратный поискдля определения более понятного человеку имени для отображения, и localhost
обычно жестко закодировано /etc/hosts
как имя для 127.0.0.1
. Параметр netstat --numeric-hosts
отключит это.