Управление сетью в Linux
Для того чтобы узнать какая сетевая карта установлена в системе нужно использовать для этого утилиту lshw. Установим её и запустим:
sudo apt install lshw
запускаем
sudo lshw -class network
видим довольно подробную информацию об установленных сетевых адаптерах: производитель, модель, способ подключения, mac адрес, конфигурационные настройки
Ping Суть работы этой утилиты заключается в отправке ICMP пакетов удалённому серверу, а после возврата пакета, ping подсчитывает время которое понадобилось ему, чтобы дойти до сервера и вернуться
ping progdron.com
В результате работы утилиты ping мы видим что: Мы можем установить соединение с сервером DNS работает корректно (имя запрашиваемого сервера было успешно преобразовано в ip) Соединение устойчиво, об этом говорит отсутствие пропусков в параметре icmp_seq Значение time говорит нам сколько времени понадобилось пакету чтобы добраться до хоста и обратно (именно этот параметр часто называют скоростью пинга)
Traceroute Каждый отправленный нами пакет, прежде чем достигнуть своей цели вынужден пройти некоторое количество узлов. При этом каждый пакет имеет, так называемое, время жизни – это количество узлов которое может пройти пакет перед тем как будет уничтожен. Это значение записывается в заголовке пакета, и уменьшается на 1 при прохождении каждого узла, если значение достигает 0 – пакет уничтожается, а отправитель получает сообщение что время превышено. Утилита traceroute отправляет на случайный порт по три UDP пакета со значением времени жизни сначала 1, потом 2, потом 3 и так пока не достигнет цели, при этом каждый раз замеряется время прохождения пакета. Трассировка считается оконченной когда traceroute от целевого узла получает сообщение что порт недоступен.
traceroute progdron.com
часто в ответ можно увидеть звёздочки
это значит, что фаервол на сервере заблокировал все лишние пакеты, и соответственно трассировка UDP пакетами не работает, но сработает трассировка ICMP пакетами, чтобы её выполнить надо добавить параметр -I
traceroute -I progdron.com
видим, что наши пакеты прошли через 8 узлов, перед тем как достигнуть цели. Также мы видим время которое понадобилось каждому из трёх отправленных пакетов. Если бы на каком-то этапе возникла ошибка, мы бы увидели соответствующее сообщение
Ifconfig Чтобы получить общую информацию о сетевых интрефейсах, проще всего использовать утилиту
ifconfig
на экране достаточно большое количество технической информации, распределенной на группы в зависимости от типа сетевого интерфейса: eth0 – проводное соединение; wlan0 – беспроводное соединение; lo – петлевой интерфейс т.е. интерфейс с обратной связью (используется компьютером для “общения с самим собой”, он нужен, в основном, для диагностики, а также для подключения к серверам работающим на локальном компьютере.
RUNNING – означает, что интерфейс активен и пропускает трафик; BROADCAST – широковещательное соединение; inet – ip адрес протокола IPv4; netmask – маска подсети, это информация о том, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети; broadcast – диапазон широковещательного соединения broadcast; inet6 – ip адрес протокола IPv6; ether – уникальный адрес сетевой карты; RX/TX – активность сетевого интерфейса.
IP Помимо ifconfig общую информацию о сетевых интерфейсах можно получить использовав утилиту ip (более новая и в некоторых моментах более функциональная, чем ifconfig более подробную информацию о сетевых интерфейсах, необходимо выполнить команду
ip l
Для получения более подробной информации о сетевых интерфейсах, необходимо выполнить команду
ip a
увидеть маршруты в таблице маршрутизации, для этого также используется утилита ip
ip rout show
отключить какой-либо интерфейс, вводим команду
ip link set eth0 down
включить
ip link set eth0 up
сменить ip адрес, сделать это можно использовав утилиту ifconfig, указав какому интерфейсу, какой ip мы хотим назначить
ifconfig wlan0 10.0.1.100
можно задавать каждый параметр по отдельности
ifconfig wlan0 10.0.1.100 netmask 255.255.255.0 broadcast 10.0.1.255
изменить MAC адрес нашей сетевой карты
ifconfig wlan0 hw ether 92:de:d1:10:92:d7
Для контроля состояния сети существует утилита netstat.
используем флаг -i, чтобы увидеть состояние наших сетевых интерфейсов, с данные счётчиков трафика
netstat -i
RX – это общее количество пакетов полученных интерфейсом, а TX – это количество пакетов пропущенных через интерфейс с момента текущей активации. RX-ERR и TX-ERR – это количество ошибок, есть разные мнения о допустимом количество ошибок, но, как правило, если их меньше 5% от общего количества – это нормально, если больше значит, в большинстве случаев, есть проблемы с сетевой картой или с самим соединением.
Если ввести команду netstat без каких-либо дополнительных параметров, то мы увидим список процессов для которых установлены сетевые соединения, с адресом, портом, типом соединения, службой и количеством запросов в очереди
Для того чтобы определить какие именно процессы какие порты слушают и по какому протоколу, нужно использовать параметры lpn
netstat -lpn
Чтобы получить информацию о таблице маршрутизации, необходимо использовать параметр r
netstat -r
ip адрес сайта, т.е. доменного имени, нужно написать nslookup и адрес сайта
nslookup graf3d.xyz