
- •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.2. Статистика
$netstat -ni
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
rl0 1500 <Link#1> 00:80:48:2d:f7:15 51129385 0 1081628 0 0
rl0 1500 xxx.yyy.zzz.1 xxx.yyy.zzz.180 459392 - 421556 - -
rl1 1500 <Link#2> 4c:00:10:13:15:1d 4116747 0 7617322 1 0
rl1 1500 172.16/30 172.16.0.1 1604297 - 6705688 - -
pflog 33208 <Link#3> 0 0 0 0 0
pfsyn 2020 <Link#4> 0 0 0 0 0
lo0 16384 <Link#5> 39988 0 39988 0 0
lo0 16384 your-net 127.0.0.1 39863 - 39863 - -
Как и раньше, аргумент -n подавляет раскрытие адресов в имена. Из этой таблицы мы можем определить сколько пакетов было передано через тот или иной сетевой интерфейс в ту или иную стророну. Чтобы измерить трафик в байтах можно добавить ещё два аргумента: -b чтобы выводить информацию в байтах и -d чтобы сообщать об отброшенных (droped) пакетах:
$ netstat -nibd
Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll Drop
rl0 1500 <Link#1> 00:80:48:2d:f7:15 51141983 0 1282650574 1082806 0 221186433 0 0
rl0 1500 xxx.yyy.zzz.1 xxx.yyy.zzz.180 459467 - 295420865 421634 - 136159516 - -
rl1 1500 <Link#2> 4c:00:10:13:15:1d 4117877 0 3436868162 7618633 1 1263505336 0 0
rl1 1500 172.16/30 172.16.0.1 1604327 - 3270648640 6705718 - 168875424 - -
pflog 33208 <Link#3> 0 0 0 0 0 0 0 0
pfsyn 2020 <Link#4> 0 0 0 0 0 0 0 0
lo0 16384 <Link#5> 39992 0 4836343 39992 0 4836343 0 0
lo0 16384 127 127.0.0.1 39867 - 4803206 39867 - 4803206 - -
Итак, через интерфейс rl0 на машину с MAC-адресом 00:80:48:2d:f7:15 (как мы видели раньше, это шлюз) прошло наружу 1082806 пакетов, или 221186433 байт. В обратном направлении пришло 51141983 пакета или 1282650574 байт.
Обратите так же внимание на столбец «Coll» — это счётчик коллизий. В сетях Ethernet 10BaseTX, 100BaseTX и 1000BaseTX, построенных на коммутаторах, а не повторителях (на свитчах, а не на хабах), в принципе не может быть никаких коллизий, так как домен коллизий сводится всего к двум машинам благодаря коммутации на канальном уровне, а две машины не могут совершить коллизию, так как они соединены многожильным кабелем и TX/RX сигналы разнесены по разным парам проводов.
Мы можем смотреть как меняется статистика во времени. Если мы укажем команде netstat(1) в аргументе -w период обновления в секундах.
$ netstat -w2
input (Total) output
packets errs bytes packets errs bytes colls
51 0 4077 1 0 178 0
46 0 3676 1 0 178 0
49 0 3794 1 0 178 0
51 0 3779 1 0 178 0
^C
Здесь программа netstat(1) каждые две секунды отчитывается о том, сколько пакетов и байт входит в машину через все интерфесы вместе.
Запустив в фоновом режиме утилиту ping(8), посылающую ICMP-пакеты через интерфейс rl1, мы можем видеть эти пакеты командой netstat(1)
$ ping 172.16.0.2 > /dev/null &
$ netstat -w2 -I rl1
input (rl1) output
packets errs bytes packets errs bytes colls
2 0 196 2 0 196 0
2 0 196 2 0 196 0
2 0 196 2 0 196 0
2 0 196 2 0 196 0
^C
$ fg
ping 172.16.0.2 > /dev/null
^C
Утилита ping(8) посылает пакеты раз в секунду, поэтому netstat(1) с опцией -w2, добавляя по строке раз в две секунды, каждый раз видит по 2 пакета.