
- •4.1. Создание, изменение и удаление учётных записей
- •4.1.1. Введение
- •4.1.2. Добавление пользователя
- •4.1.3. Изменение параметров пользовательской учётной записи
- •4.1.4. Удаление учётной записи
- •6.1. Определение существующих установок tcp/ip
- •Комментарий
- •6.1.1. Ifconfig(8) — настройки сетевых интерфейсов
- •6.1.2. Netstat(1)
- •6.1.2.1. Таблица маршрутизации
- •6.1.2.2. Статистика
- •6.1.2.3. Работающие интернет сервисы и открытые сокеты
- •6.1.2.3.1. Открытие tcp соединения (тройное рукопожатие)
- •6.1.2.3.2. Закрытие tcp соединения
- •6.1.3. Route(8)
- •6.1.4. /Etc/resolv.Conf(5)
- •6.2.2.1. Изменение настроек физического уровня
- •6.2.2.2. Изменение настроек канального уровня
- •6.2.2.2.1. Изменение mac-адреса:
- •6.2.2.2.2. Смена флагов канального уровня
- •6.2.2.3. Изменение настроек сетевого уровня
- •6.2.2.3.2. Ip, маска подсети, широковещательный адрес
- •6.2.2.3.4. Другие протоколы сетевого уровня
- •6.2.3. Route(8) — настройка таблицы маршрутизации
- •6.2.4. Resolv.Conf(5) — настройка клиента dns
- •6.2.5. Hosts(5) — локальная база имён
- •6.2.6. Как сохранить установленные сетевые параметры
- •6.2.6.1. FreeBsd
- •6.3. Определение какие tcp или udp порты открыты в системе
- •Комментарий
- •6.3.1. Fstat(1)
- •6.3.2. Sockstat(1)
- •6.3.3. Lsof(1)
- •6.3.4. Nmap(1)
- •6.4. Проверка доступности tcp/ip сервиса
- •Комментарий
- •6.4.1. Ping(8)
- •6.4.2. Traceroute(1)
- •6.4.3. Hping(8)
- •6.4.4. Telnet(1), nc(1)
6.1.2.3. Работающие интернет сервисы и открытые сокеты
|
Замечание |
Аналогичную информацию можно получить так же при помощи программы sockstat(1). См Раздел 6.3.2, «sockstat(1)» |
При запуске утилиты netstat(1) без каких либо аргументов, можно получить информацию об открытых сокетах. Мы запустим утилиту как всегда с опцией -n с тем, чтобы адреса не преобразовывались в имена, и номера сервисов тоже были бы представлены числами:
$ netstat -n
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 52 194.87.141.180.22 62.117.108.7.1833 ESTABLISHED
tcp4 0 0 194.87.141.180.22 62.117.108.7.64544 ESTABLISHED
tcp4 0 0 172.16.0.1.53882 172.16.0.2.22 ESTABLISHED
tcp4 0 0 194.87.141.180.22 62.117.108.7.64344 ESTABLISHED
tcp4 0 0 194.87.141.180.22 62.117.108.7.64286 ESTABLISHED
tcp4 0 0 194.87.141.180.22 62.117.108.7.64242 ESTABLISHED
udp4 0 0 127.0.0.1.123 *.*
udp4 0 0 172.16.0.1.123 *.*
udp4 0 0 194.87.141.180.123 *.*
udp4 0 0 127.0.0.1.53 *.*
udp4 0 0 172.16.0.1.53 *.*
udp4 0 0 194.87.141.180.53 *.*
udp4 0 0 172.16.0.1.706 172.16.0.2.2049
udp4 0 0 172.16.0.1.743 172.16.0.2.2049
udp4 0 0 172.16.0.1.690 172.16.0.2.2049
udp4 0 0 172.16.0.1.633 172.16.0.2.2049
udp4 0 0 172.16.0.1.701 172.16.0.2.2049
udp4 0 0 172.16.0.1.887 172.16.0.2.2049
udp4 0 0 172.16.0.1.991 172.16.0.2.2049
udp4 0 0 172.16.0.1.852 172.16.0.2.2049
Active UNIX domain sockets
Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr
c10897a8 stream 0 0 0 c1089af0 0 0
c1089af0 stream 0 0 0 c10897a8 0 0
c10892bc stream 0 0 0 c10899d8 0 0
c10899d8 stream 0 0 0 c10892bc 0 0
c10888c0 stream 0 0 0 c1089ec4 0 0
c1089ec4 stream 0 0 0 c10888c0 0 0
c108971c stream 0 0 0 c1088af0 0 0
c1088af0 stream 0 0 0 c108971c 0 0
c1089834 stream 0 0 0 c10894ec 0 0
c10894ec stream 0 0 0 c1089834 0 0
c1088834 stream 0 0 0 c1089a64 0 0 /var/run/dovecot/login/default
c1089a64 stream 0 0 0 c1088834 0 0
c1089c94 stream 0 0 0 c1089604 0 0
c1089604 stream 0 0 0 c1089c94 0 0
c1089e38 stream 0 0 0 c10887a8 0 0 /var/run/dovecot/login/default
c10887a8 stream 0 0 0 c1089e38 0 0
c1089460 stream 0 0 0 c10891a4 0 0
c10891a4 stream 0 0 0 c1089460 0 0
c1209000 stream 0 0 0 c108894c 0 0 /var/run/dovecot/login/default
c108894c stream 0 0 0 c1209000 0 0
c108994c stream 0 0 0 c108871c 0 0
c108871c stream 0 0 0 c108994c 0 0
c10893d4 stream 0 0 c1867738 0 0 0 /var/run/dovecot/auth-worker.53422
c1088a64 stream 0 0 0 c1089118 0 0
c1089118 stream 0 0 0 c1088a64 0 0
c1209118 stream 0 0 c1ac0c60 0 0 0 /var/run/dovecot/login/default
c1089b7c stream 0 0 c138f738 0 0 0 /tmp/mysql.sock
c1089d20 stream 0 0 c11fed68 0 0 0 /var/run/cgisock.536
c10882bc stream 0 0 0 c1088230 0 0
c1088230 stream 0 0 0 c10882bc 0 0
c108808c stream 0 0 0 c1088000 0 0
c1088000 stream 0 0 0 c108808c 0 0
c1088c08 stream 0 0 c10b4a50 0 0 0 /var/run/rpcbind.sock
c1089000 stream 0 0 c1078d68 0 0 0 /var/run/devd.pipe
c10883d4 dgram 0 0 0 c1088e38 0 c1089348
c1089348 dgram 0 0 0 c1088e38 0 c1088460
c10884ec dgram 0 0 0 c1088dac 0 0
c1088460 dgram 0 0 0 c1088e38 0 c1088348
c1088348 dgram 0 0 0 c1088e38 0 c10881a4
c10881a4 dgram 0 0 0 c1088e38 0 c1088118
c1088118 dgram 0 0 0 c1088e38 0 c1088604
c1088604 dgram 0 0 0 c1088e38 0 c1088b7c
c1088b7c dgram 0 0 0 c1088e38 0 c1088c94
c1088c94 dgram 0 0 0 c1088e38 0 0
c1088d20 dgram 0 0 c108a108 0 0 0 /var/named/var/run/log
c1088dac dgram 0 0 c108a210 0 c10884ec 0 /var/run/log
c1088e38 dgram 0 0 c108a318 0 c10883d4 0 /var/run/logpriv
c1088ec4 dgram 0 0 c1078210 0 0 0 /var/run/log
Отчёт команды netstat(1) состоит из двух частей: в первой перечислены открытые в настоящий момент соединения интернет, а во второй перечислены используемые системой сокеты.
|
Как видно, в настоящий момент, наша машина xxx.yyy.zzz.180 имеет шесть соединений по протоколу ssh (порт 22). Из них пять открыто из Интернет на нашу машину (с хоста xyz.yzx.zxy.yxz) и одно открыто с нашей машины, с адреса 172.16.0.1 на машину 172.16.0.2. Все шесть соединений открыты и потому пребывают в состоянии ESTABLISHED. |
|
На портах 123 (NTP, служба времени) и 53 (DNS) висят какие-то службы и ждут входящего соединения (поскольку никаких флагов тут не обозначено) |
|
С хоста 172.16.0.2 импортировано несколько каталогов по NFS. |
|
В этой части таблицы перечислены активные в настоящий момент сокеты. Некоторые из них имеют интерфейс файлов. |
Программа netstat(1) выводит сведения о состоянии TCP (см. флаг ESTABLISHED выше), согласно [RFC-793]. Что такое «состояние TCP» и какие они бывают, мы описываем в Раздел B.1.4.3.4, «Состояние соединения TCP». Подробное обсуждение этой темы можно найти в [Stevens-2003-ru].
При помощи флага -a можно получить информацию обо всех сокетах, в том числе пребывающих в состоянии LISTEN.
# netstat -na | grep LISTEN
tcp4 0 0 *.587 *.* LISTEN
tcp4 0 0 *.25 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp4 0 0 *.80 *.* LISTEN
tcp4 0 0 *.143 *.* LISTEN
tcp4 0 0 *.965 *.* LISTEN
tcp4 0 0 *.2049 *.* LISTEN
tcp4 0 0 *.701 *.* LISTEN
tcp4 0 0 *.730 *.* LISTEN
tcp4 0 0 *.111 *.* LISTEN
tcp4 0 0 127.0.0.1.953 *.* LISTEN
tcp4 0 0 127.0.0.1.53 *.* LISTEN
tcp4 0 0 172.19.0.2.53 *.* LISTEN
Таким образом, можно узнать какие порты прослушиваются нашей машиной.
Видимо необходимо некоторое пояснение к термину «состояние сокета». Рассмотрим как осуществляется открытие и закрытие соединения TCP: