вторник, 26 февраля 2013 г.

Кратко о ethtool, ifconfig, netstat

Заметка об использовании наиболее популярных и удобных утилит для linux, кратенько расскажу о некоторых из них, дополнительные ссылки также прилагаются, там можно почитать подробнее (картинки кликабельны).

Источник вдохновения: КИТ Яндекс. Первый набор.
ethtool — позволяет конфигурировать уровни сетевых интерфейсов, скорость работы сетевой карты, настраивать режимы сетевой карты.
$ sudo ethtool eth0

Link detected: yes — устройство готово к использованию (прием/передача), в случае отсутствия подключения no;
Speed — скорость, с которой будет осуществляться передача данных;
Duplex — режим (полный, полудуплекс);
Port  - тип передачи (витая пара);
Supported links modes — режимы конфигурирования.
Дополнительно описание тут.

Для беспроводных интерфейсов сетевых карт существует утилита iwconfig.
$ sudo iwconfig wlan0 

Подробнее: тут, man.

ifconfig — используется для конфигурирования сетевых интерфейсов ядра.

ip — более современная и гибкая утилита, нежели ifconfig. 
$ sudo ifconfig eth0 #вывод параметров интерфейса eth0
Тут:
Hwaddr — mac адрес;
RX - отправлено пакетов;
TX — получено пакетов;
RX bytes — в байтах;
errors - счетчики ошибок;
MTU - сколько можно передать через этот интерфейс на этом уровне;
Еще: 1, 2.

$ sudo ifconfig eth0 192.168.0.10 #присвоим ip-адрес
и попробуем пропинговать ip-адрес
$ ping 192.168.0.10 

Плюс ifconfig в том, что при добавлении ip-адреса не нужно вручную задавать маску подсети, ifconfig сам считывает маску и автоматически записывает ее.

ip — позволяет больше чем ifconfig
Пример: можно изменять mac-адрес, если это поддерживает ваша видеокарта, можно смотреть адреса на уровне передачи данных, позволяет присваивать несколько ip-адресов.

$ ip link show dev eth0 #вывод mac-адреса данного сетевого интерфейса

или
$ ip link #mac-адреса всех интерфейсов

$ ip a #вывод информации о всех интерфейсах

$ ip -4 a #вывод только ipv4 адресов

$ ip -4 a show dev eth0 #вывод только ipv4 адресов для eth0

$ ip help #помощь 

$ sudo ip -4 a add 192.168.0.12 dev eth0 #присваивает ip
$ sudo ip -4 a show dev eth0


$ sudo ip -4 a del 192.168.0.12 dev eth0 #удаляем ip

Может добавлять и показывать маршруты:
$ ip route 

$ sudo ip route del default #удаляем маршрут
$ ping ya.ru #пингуем

$ sudo ifconfig eth0:0 192.168.2.10 #добавляем виртуальный адрес
$ sudo ifconfig eth0:0 #смотрим

Дополнительная информация: тут.

netstat - традиционная утилита под linux и windows, под linux есть поддержка локальных сокетов. 
$ sudo netstat | less #вывод всех доступных соединений

$ sudo netstat -t | less #только tcp

$ sudo netstat -ua |less #только udp

$ sudo netstat -uap | less #только udp и посмотреть процесс

$ sudo netstat -nuap | less #только udp и посмотреть процесс, номера портов иip-адресов

$ sudo netstat -nеuap | less #только udp и tcp, посмотреть процесс, номера портов и ip-адресов

$ sudo netstat -nеuape  | less #только udp и tcp и посмотреть процесс, номера портов и ip-адресов, длина очереди на приеме и передаче и индексный дескриптор

Больше о netstat: 12.

iptables — позволяет отобразить и изменить конфигурации сетевого фильтра.
$ sudo iptables -L #вывод списка правил

input — входящие;
drop — запрет;
accept - разрешено;
но это уже отдельная тема, ее постараюсь покурить попозже, и наверное в отдельной заметке.

Комментариев нет: