Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Передача пакетов по сети в линукс команды. Команды Linux для управления сетью

Передача пакетов по сети в линукс команды. Команды Linux для управления сетью

Доступ к удаленным системам

sx , rx

Команды sx и rx xmodem . Входят в состав пакета minicom .

sz , rz

Команды sz и rz служат для приема/передачи файлов на/из удаленный узел в сети, по протоколу zmodem . Протокол zmodem имеет некоторые преимущества перед протоколом xmodem , в качестве такого преимущества можно назвать более высокую скорость передачи и возможность возобновления передачи, в случае ее разрыва. Входят в состав пакета minicom .

ftp

Под этим именем подразумевается утилита и протокол передачи файлов. Сеансы ftp могут устанавливаться из сценариев (см. Пример 17-6 , Пример A-5 и Пример A-14).

uucp

Unix to Unix copy . Это коммуникационный пакет для передачи файлов между Unix серверами. Сценарий на языке командной оболочки - один из самых эффективных способов автоматизации такого обмена.

Похоже, что с появлением Интернет и электронной почты, uucp постепенно уходит в небытие, однако, она с успехом может использоваться в изолированных, не имеющих выхода в Интернет, сетях.

cu

C all U p - выполняет соединение с удаленной системой, как простой терминал. Эта команда является частью пакета uucp и, своего рода, упрощенным вариантом команды telnet .

telnet

Утилита и протокол для подключения к удаленной системе.

wget

wget - неинтерактивная утилита для скачивания файлов с Web или ftp сайтов.

    wget -p < a href =

    wget" title ="http://www.xyz23.com/file01.html

    wget" >

    wget -r < a href = title ="ftp://ftp.xyz24.net/~bozo/project_files/" > ftp :// ftp.xyz24.net/ ~bozo/ project_files/ -o $SAVEFILE

lynx

lynx - Web браузер, внутри сценариев (с ключом -dump) может использоваться для скачивания файлов с Web или ftp сайтов, в неинтерактивном режиме.

    lynx -dump < a href = title ="http://www.xyz23.com/file01.html" > http:// www.xyz23.com/ file01.html > $SAVEFILE

rlogin

Remote login - инициирует сессию с удаленной системой. Эта команда небезопасна, вместо нее лучше использовать ssh .

rsh

Remote shell - исполняет команду на удаленной системе. Эта команда небезопасна, вместо нее лучше использовать ssh .

rcp

Remote copy - копирование файлов между двумя машинами через сеть. Подобно прочим r* утилитам, команда rcp небезопасна и потому, использовать ее в сценариях нежелательно. В качестве замены можно порекомендовать ssh или expect .

ssh

Secure shell - устанавливает сеанс связи и выполняет команды на удаленной системе. Выступает в качестве защищенной замены для telnet , rlogin , rcp и rsh . Использует идентификацию, аутентификацию и шифрование информации, передаваемой через сеть. Подробности вы найдете в man ssh .

Сеть является неотъемлемой частью Linux и предлагает множество инструментов и команд для диагностики любой сетевой проблемы.

Сетевые команды в примерах в Linux

Найти хост / доменное имя и IP-адрес — hostname
Сделать тест сетевого соединения — ping-
Получение конфигурации сети — Ifconfig
Сетевые соединения, таблицы маршрутизации, статистики интерфейсов — NETSTAT
Поиск имени DNS запрос — Nslookup
Подключение к другим хостам — Telnet
Получить сетевой хост — информация для пользователя трассировку
Сделать трассировку — traceroute
Просмотр информации пользователя – finger
Проверка статуса хоста назначения — Telnet

Примеры использования сетевых команд в Linux

Давайте посмотрим некоторые примеры различных сетевых команд в Linux. Некоторые из них довольно элементарные например пинг и телнет, а некоторые являются более мощными, например Nslookup и NetStat. Когда вы использовали эти команды в комбинации вы можете получить все, что вы ищете, например, имя хоста, конечные соединения точек, состояние соединения и т.д.

hostname — Имя хоста

Имя хоста (hostname) без вариантов отображает хозяина машины. По этому чтобы проверить кто владелец выполните команду:

# hostname

Эта команда отображает доменное имя машины. Чтобы увидеть IP -адрес для текущей машины выполните эту же команду с ключом «i»:

# hostname -i

ping — пинг

Он посылает пакеты информации в определенный пользователем источник. Если будут получены пакеты, устройство назначает и посылает пакеты обратно. Ping можно использовать для двух целей

1 . Чтобы гарантировать, что сетевое соединение может быть установлено.

2 . Timing соединения. Если у вас пинг www.. Используйте Ctrl + C , чтобы остановить тест. Выполнить команду можно так:

# ping сайт

Можно задать время перед отправкой пакета, например подождать 3 секунды перед отправкой следующего пакета.

# ping -i 3 your_IP

Чтобы проверить локальный интерфейс существует несколько способов:

# ping 0 # ping localhost # ping 127.0.0.1

Можно так же посылать N количество пакетов и после чего завершить работу, для этого:

# ping -c 5 www.сайт

Так же можно узнать версию самого пинга, для этого выполните команду:

# ping -V

Вы запустили утилиту пинг, а ответа от вашего хоста вовсе нет, вы начинаете выяснять в чем же дело, и как решите эту проблему то удаленный хост выдаст звуковое предупреждение.

# ping -a IP # ping -a 192.168.244.134

С опцией «-q» Вы сможете пропустить ответы от вашего удаленного хоста и показать полученную статистику:

# ping -c 5 -q www.сайт

Можно изменить размер передаваемого пакета (допустим с 56 на 120), а сделать это можно так:

# ping -s 100 192.168.244.134

Мы так же можем изменять длительность выполнение команды пинг, например нам нужно пинговать сервис 15 секунд, то для этого выполните:

# ping -w 15 192.168.244.134

Не прервав команду пинг, вы сможете увидеть статистику выполнения, нужно нажать CTRL + |

Посмотреть конфигурацию сети, он отображает текущую конфигурацию сетевого адаптера. Это удобно, чтобы определить, если вы transmit (ТХ) или receive (RX) ошибки.

traceroute

Удобная программа для просмотра количества количество прыжков и время отклика, чтобы добраться до удаленной системы или веб-сайта. Но вам нужно подключение к интернету, чтобы использовать этот инструмент. Но ее возможно будет Вам установить, чтобы воспользоватся.

# traceroute 192.168.244.133

Можно вывести информацию о всех сетевых картах что подключены, для этого выполните:

# ip link show

netstat

Самая полезная и очень универсальная для нахождения подключений к и от хозяина. Вы можете узнать все о многоадресной группы (multicast groups) сети выполнив:

# netstat -g

Чтобы увидеть кто «сидит» на порту (допустим на 21) выполните команду:

# netstat -nap | grep 21

Чтобы увидеть все соединения в том числе TCP и UDP выполните команду:

# netstat -a

# netstat –all

Параметр что выполнена программа будет отображать только соединение TCP:

# netstat –tcp

# netstat –t

Параметр что выполнена программа будет отображать только соединение UDP:

# netstat –udp

# netstat –u

nslookup

Если вы знаете IP-адрес он будет отображать как имя хоста. Чтобы найти все IP-адреса для данного доменного имени, команда Nslookup используется. Вы должны быть подключение к Интернету для этой утилиты. Пример использования:

# nslookup google.com

Вы также можете использовать Nslookup преобразовать имя хоста в IP-адрес и с IP-адреса из имени хоста.

finger

Посмотреть информацию о пользователях, отображает имя пользователя логин, настоящее имя, имя терминала и статус записи. это довольно старая команда для Linux и редко используемые в настоящее время.

telnet

Подключается хозяина назначения по протоколу Telnet, если телнет соединение установить на любом порту означает соединения между двумя хостами работает нормально.

# telnet # telnet 192.168.244.134 23

Обычно он используется для того чтобы узнать жив ли хост ​​или сетевое соединение в порядке.

Тема «Топ-10 Основных сетевых команд в Linux» завершена, но если я не упомянул о более хороших команд на Ваш взгляд, то пишите в комментарии и я дополню эту статью. Если есть вопросы и предложения, пишите все в комментарии. Спасибо.

Чтобы быть успешным хакером, нужно знать хотя бы немного операционную систему Linux , и особенно это касается работы с сетью. Чтобы восполнить этот пробел, я предлагаю вам прочитать это руководство по основам работы с сетями.

Я все-таки предполагаю, что вы имеете представление об основных сетевых понятиях. Например, о таких вещах как: IP-адреса , MAC-адреса , DNS , DHCP и т.п.

Шаг 1. Анализ сетевых подключений

Основная команда Linux систем для анализа сети - это ifconfig . Она очень похожа на аналогичную по смыслу команду Windows - ipconfig . Давайте на нее взглянем.

Ifconfig

Как вы видите на этом скриншоте, ifconfig выдает пользователю весьма большой объем информации. В первой строке в левой части мы видим «eth0 ». Это первое проводное соединение ethernet 0 Linux все считается начиная с нуля).

Сразу за «eth0 » справа мы видим тот тип соединения, который используется (Ethernet ) и адрес сетевой карты (производители в любое сетевое оборудование «вшивают» его глобальный уникальный адрес, в данном случае это NIC - сетевой адаптер).

Вторая строка - IP-адрес , в данном случае это 192.168.1.114, так называемый broadcast address (широковещательный адрес). По этому адресу можно разослать информацию по всем IP адресам этой подсети. И наконец, network mask (маска подсети) - это информация о том, какая часть IP-адреса узла (хоста) относится к адресу сети, а какая - к самому адресу узла (хоста) в этой сети. Там есть еще много другой информации, но она уже не относится к теме основ Linux .

Если взглянуть на скриншот ниже, то мы увидим вторую колонку (слева). Она начинается с «lo ».

Это не что иное, как loopback address (обратный адрес) или localhost . То есть адрес той машины, за которой вы сейчас сидите. Он применяется обычно в случаях, когда нужно протестировать, скажем, сайт, который вы разрабатываете. Обычно этот IP-адрес выглядит как 127.0.0.1.

Шаг 2. Смена IP-адреса

Сменить IP-адрес достаточно просто. Но нужно иметь в виду, что скорее всего у вас будет динамический IP-адрес , который присваивает вам DHCP сервер вашего провайдера. В некоторых случаях вам может потребоваться переназначить адрес, особенно если вы занимаетесь хакингом. Замена вашего IP-адреса усложнит работу сетевым криминалистам, но не сделает вас неуловимым.

Чтобы сменить IP-адрес нужно использовать команду ifconfig , указать ей сетевой интерфейс и тот IP-адрес , который мы хотим. Делается это так:

Ifconfig eth0 192.168.1.115

И теперь если мы введем в терминал ifconfig , то увидим, что IP-адрес изменился на тот, который мы назначили.

Точно таким же образом, если необходимо, мы можем изменить маску подсети (netmask ) и широковещательный адрес (broadcast address ):

Ifconfig eth0 192.168.1.115 netmask 255.255.255.0 broadcast 192.168.1.255

Шаг 3. DHCP (Сервер конфигурации динамических хостов)

У Linux есть DHCP-сервер - это демон, т.е. программа, которая работает в фоновом режиме и называется dhcpd . Это тот DHCP-сервер , который присваивает IP-адреса всем машинам в своей подсети. Еще он ведет логи (журналы) - какой IP-адрес был у какой машины и в какое время. Именно по этим логам отслеживают хакеров после совершения атак.

Если я хочу, чтобы DHCP-сервер присвоил мне новый адрес, то я просто вызывают его командой dhclient (у разных дистрибутивов Linux разные DHCP-клиенты , но BackTrack основан на Ubuntu , который использует именно dhclient ):

Dhclient

Как видите, команда dhclient посылает DHCPDISCOVER запрос от сетевого адаптера. На свой запрос dhclient получает предложение (DHCPOFFER ) - новый адрес: 192.168.1.114 от DHCP-сервера , а потом DHCP-сервер подтверждает назначение нового IP-адреса .

И если сейчас мы вызовем ifconfig , то увидим, что DHCP-сервер присвоил нам новый IP-адрес .

Шаг 4. DNS - служба доменных имен

DNS (Domain Name Service) или служба доменных имен - это сервис, позволяющий нам использовать доменные имена вроде www.google.com, которые он переводит в нужный IP-адрес . Без этой службы нам пришлось бы запоминать тысячи IP-адресов наших любимых сайтов.

Одна из самых полезных команд для хакинга - dig , которая является эквивалентом nslookup в Windows , но предлагает значительно больше информации о доменах. Например, если мы применим dig к доменному wonderhowto.com и добавим опцию ns , то dig покажет нам имя сервера wonderhowto.com

Dig wonderhowto.com ns

если мы воспользуемся опцией mx , то получим все почтовые сервера WonderHowTo :

Dig wonderhowto.com mx

Наиболее распространенным DNS-сервером Linux является Berkeley Internet Name Domain или BIND . В некоторых случаях пользователи Linux часто называют DNS как BIND , поэтому не смущайтесь. DNS или BIND просто сопоставляет отдельные имена доменов с их реальными IP-адресами .

В BackTrack мы можем указать в качестве DNS-сервера как локальный DNS-сервер , так и публичный. Чтобы это сделать нужно подредактировать файл /etc/resolv.conf . Давайте откроем его при помощи KWrite :

Kwrite /etc/resolv.conf

Как видите, в качестве провайдера DNS услуг у нас указаны публичные DNS-сервера . Если мы хотим их изменить или добавить другой сервер, нам нужно просто вставить его на новую строку и сохранить файл. И в следующий раз, когда нашей операционной системе потребуется DNS службы, она будет искать соответствующие DNS-серверы в этом файле.

Просто, правда?

В следующей статье мы рассмотрим вопросы безопасности и предоставления прав, поэтому приходите. Если вы пришли сюда в первый раз, то обязательно просмотрите предыдущие части этой серии.

Отказ от ответственности : Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.

Современный компьютер предоставляет пользователю много возможностей, без доброй половины которых он мог бы запросто обойтись. В сети по сей день идут дебаты о том, нужны ли ему 3D-графика и высококачественный звук. Однако есть одна функция, необходимость которой не оспаривается ни кем, — это выход в сеть.

Знатоки свободной ОС утверждают, что Linux создана для сети, как птица для полета. Правда, тут же делают поправку на то, что истинную мощь этой системы увидят только избранные, поскольку настройка сетевых интерфейсов — занятие сложное и требующее серьезных знаний.

Спорить с этим утверждением сложно, поскольку очевиден его всеобъемлющий характер. Действительно, не обладая специальными умениями, даже табуретки не сколотить. Тем не менее мы и тут имеем дело с некоторым преувеличением. Linux —система простая. Пользователю Windows приходится держать в памяти значительно больше информации для того, чтобы обеспечить комфортную работу с ней.

Дабы последнее утверждение не выглядело голословным, рассмотрим процедуру настройки сети в системе Linux. Причем, как это принято в мире свободного ПО, не один путь, а несколько вариантов. А пользователь сам выберет тот, который ему больше понравится.

Команда ifconfig

Как правило, подключение драйверов сетевых адаптеров происходит при установке системы. Чтобы убедиться в этом, достаточно в консоли набрать ifconfig -a. Кстати, данное название вовсе не является исковерканным имени команды ipconfig, знакомой пользователям Windows. Это просто сокращение от Interface Configuration.

В ответ пользователь получит информацию о характеристиках Ethernet-соединения и о параметрах так называемого кольцевого интерфейса. Первый обозначается как eth0 (если сетевых адаптеров несколько, то для каждого будет своя секция eth[порядковый номер]), а второй — как lo.

Эту же команду можно использовать для активации интерфейса. Чаще всего она выглядит так:

ifconfig [обозначение интерфейса] netmask [маска сети] broadcast [широковещательный адрес] up.

Впрочем, на практике все параметры можно и не указывать. Например, если маска сети и широковещательный адрес не задаются явно, то система применит стандартные значения (сетевой адрес с машинной частью 255 и маской 255.255.255.0).

Для активации PLIP, SLIP и РРР необходимо использовать опцию pointopoint. При этом интерфейсы будут именоваться так:

– plip[порядковый номер начиная с нуля] — для PLIP;

– slip[порядковый номер начиная с нуля] — для SLIP;

– ppp[порядковый номер начиная с нуля] — для PPP.

Например, для того чтобы сконфигурировать интерфейс PLIP, соединяющий два компьютера с адресами [адрес1] и [адрес2], следует в консоли набрать:

ifconfig plip0 [адрес1] pointopoint [адрес2].

Отключение интерфейса производится командой ifconfig [обозначение интерфейса] down. Таким образом, используя всего одну команду, вы можете управлять сетевым устройством. И разумеется, держать в памяти все ее опции нет никакого смысла — если что-то забыли, то man ifconfig всегда придет на помощь.

Команда route

Команда route отвечает за маршрутизацию. То есть она указывает системе, на какой сетевой компьютер должны передаваться пакеты, чтобы достичь пункта назначения.

Данная команда выводит на экран таблицу маршрутизации. При этом каждая запись состоит из нескольких полей:

– Destination — IP-адрес конечного пункта маршрута;

– Gateway — IP-адрес или имя шлюза (если его нет, то используется символ “*”);

– Genmask — маска сети маршрута;

– Flags — указатель типа или состояния маршрута (может принимать следующие значения: U — активный, Н — хост, С — шлюз, D — динамический, М — модифицированный);

– MSS — максимальное количество данных, предаваемых за один раз;

– Metric — число переходов до шлюза;

– Ref — количество обращений к маршруту на определённый момент времени;

Window — максимальное количество данных для принимающей стороны;

– Use — число пакетов, переданных по маршруту;

– Iface — тип интерфейса.

Чтобы добавить адрес в таблицу маршрутизации, надо использовать команду route с ключом add. При этом следует учесть, что если соответствующий интерфейс уже сконфигурирован при помощи ifconfig, то система сама может получить сведения о нем. В таком случае нет смысла в употреблении спецификаторов — достаточно указать адрес пункта назначения. Все остальные данные будут избыточными, а стало быть, и необязательными.

Очевидно, что для работы в сети в таблице маршрутизации должна быть сделана хотя бы одна запись. Пункт назначения по умолчанию обозначается меткой default.

Для удаления маршрута используйте команду route del -net .

Другие команды

Если настройки интерфейса хранятся в системе, то для быстрой активации и деактивации можно использовать команды ifup и ifdown следующим образом:

– ifup [обозначение интерфейса] — для включения.

– ifdown [обозначение интерфейса] — для отключения.

Для вывода на экран списка сетевых подключений, таблиц маршрутизации, статистики интерфейсов и т. п. применяется команда netstat. Помимо всего прочего она позволяет отобразить статус соединения, что полезно при анализе системы на предмет её безопасности.

Например, LISTEN означает, что служба ждет соединения с другой машиной, а ESTABLISHED говорит о том, что оно уже установлено. Если нет запущенных программ, для которых такое состояние является нормальным, то это может быть небезопасным и свидетельствовать об атаке на хост.

Конфигурационые файлы

Указанных выше команд вполне достаточно для настройки сети. Однако у этих утилит есть один существенный недостаток: результат их работы будет действителен в течение только одной сессии. После перезагрузки все придется начинать сначала. По этой причине значительно удобнее один раз отредактировать конфигурационные файлы.

Несмотря на то что их устройство не зависит от дистрибутива, располагаться они могут в разных местах. Например, в Debian за настройку интерфейсов и маршрутизации отвечает файл /etc/init.d/network, а в Slackware (MOPS, Zenwalk) — /etc/rc.d/rc.inet1. На этот счет можно дать только один универсальный совет: приступая к работе с тем или иным продуктом, обязательно ознакомьтесь с технической документацией.

В качестве примера рассмотрим дистрибутив ASPLinux. Для хранения настроек сетевых интерфейсов там используется каталог /etc/sysconfig/network-scripts/. Каждый из них определяется файлом ifcfg-[обозначение интерфейса].

Этот файл состоит из строк вида: [параметр]=[значение]. Параметры могут быть следующие:

– NAME — произвольное название соединения;

– DEVICE — обозначение интерфейса;

– IPADDR — IP-адрес интерфейса;

– NETMASK — маска сети;

– GATEWAY — IP-адрес шлюза;

– ONBOOT — указатель на необходимость активации во время загрузки;

– USERCTL — указывает на то, что активировать интерфейс может обычный пользователь;

– MTU — значение MTU (максимальный размер пакета, передаваемого через интерфейс);

– PEERDNS — указывает на необходимость использования серверов DNS, полученных при активации интерфейса;

– DNS1, DNS2 — IP-адреса первичного и вторичного серверов DNS;

– BOOTPROTO — указатель режима настройки интерфейса (none — при помощи пользовательских параметров, boottp или dhcp — при помощи соответствующих протоколов).

За настройку DNS отвечают файлы /etc/host.conf и /etc/resolv.conf. Первый из них — это обычный текстовый файл, в котором задаются правила работы подсистемы поиска имен и адресов узлов. Его устройство типично для всех объектов такого типа — в каждой строке содержится параметр и его значения (их может быть несколько).

Параметр order задает метод поиска IP-адреса узла. Он может принимать следующие значения: bind (использовать сервер DNS), hosts (использовать локальную базу адресов), nis (использовать сервер NIS). Они должны располагаться в том порядке, в котором будет осуществляться поиск.

Для описания исключений предназначен параметр trim. В соответствующей строке задается домен, который будет автоматически удаляться из имени.

Параметр reorder может принимать значения on/off. Он отвечает за включение режима работы, при котором локальные адреса получают приоритет перед всеми найденными. Spoofalert включает режим записи в системный журнал результатов проверки ложных имен. А multi позволяет настроить метод обработки локальной базы узлов. Разумеется, все параметры указывать не обязательно. На практике часто встречаются файлы /etc/host.conf, состоящие из двух строк.

Файл /etc/resolv.conf описывает некоторые параметры, которые используются подсистемой поиска имен. Он может состоять из следующих строк:

– nameserver — адреса серверов DNS;

– domain — имя локального домена для поиска адресов в локальной сети;

– search — список доменов для поиска адресов.

Очевидно, что параметры domain и search не могут быть актуальными одновременно. Если система обнаружит это противоречие, то будет учитывать только последнюю запись.

А может ли Linux вообще не использовать сервер имен? Теоретически — да, хотя на практике описанный ниже способ применяется только в очень маленьких сетях, где другие методы не оправданны.

Способ заключается в использовании файла /etc/hosts. Он представляет собой список имен хостов и их IP-адресов, причем для одного адреса можно указывать несколько имен.

Графические средства настройки

Хотя настройка сети путем прямого редактирования конфигурационных файлов — задача не очень сложная, практически все современные дистрибутивы предлагают пользователю графические инструменты, предназначенные для её решения. Даже Zenwalk, который не принято считать дружественным в Windows-понимании этого слова, позволяет сконфигурировать сетевые интерфейсы без помощи командной строки.

Причем сегодня мы уже вправе говорить о том, что помимо элементарных настроек пользователь может выполнять довольно сложные операции. В частности, еще несколько лет назад тема о настройке VPN-соединения в Linux занимала заметное место на форумах технической поддержки и все предлагаемые способы решения этой проблемы никак нельзя было назвать простыми. Но времена меняются.

Так, пользователи дистрибутива Linux XP Desktop настраивают VPN-соединение при помощи удобного инструмента с графическим интерфейсом, который устроен даже проще, чем аналогичное средство в Windows. Примерно то же самое предлагают потребителю ASPLinux, Mandriva и SuSE Linux.

В общем, Linux действительно создан для сети. И оценить это могут не только опытные пользователи, но и новички.

Сеть, это один из самых важных компонентов администрирования серверов или просто компьютеров с операционной системой Linux. Пользователям домашнего компьютера вряд ли понадобятся все эти утилиты. Но вот для администраторов серверов или даже сетей, это вещь незаменимая. Особенно когда нужно понять почему не работает сеть или выяснить на каком сетевом узле прерывается передача пакетов.

В этой статье мы рассмотрим лучшие сетевые утилиты linux, это самые основные команды, которые можно использовать для администрирования сети в Linux. Эта статья не научит вас всем тонкостями использования таких команд, это всего лишь небольшой список с кратким описанием. Если у вас уже есть небольшой опыт их использования, то вы можете использовать статью как шпаргалку, для лучшего запоминания.

ping <хост> - отправляет один эхо запрос по протоколу ICMP на удалённый хост. Пакеты будут отправляется непрерывно, пока вы не нажмете Ctrl+C. Когда пакет будет отправлен, хост должен отправить ответное ICMP сообщение, это и будет означать, что другой хост работает.

telnet хост <порт> - проверить доступность определенного порта на хосте. По умолчанию telnet использует порт 23, но также можно использовать и другие. Например, 7 - эхо порт, 25 - SMTP, почтовый сервер, 79 - Finger, предоставляет информацию о других пользователях сети. Нажмите Ctrl+] чтобы завершить работу telnet.

ARP

ARP используется для преобразования IP-адресов в адреса физической сети, к которой подключен компьютер, например, Ethernet или Wifi. Суперпользователь может добавлять и удалять Arp записи. Их удаление может быть полезно, если arp запись была подделана или просто неверная. Явно добавленные записи - постоянные и система может им доверять. Таблица ARP хранится в ядре и может изменяться динамически. Полученные от других компьютеров ARP записи кэшируются и удаляются по истечении таймаута в 20 минут.

arp –a - вывести таблицу ARP

arp -s - добавить запись в таблицу маршрутизации

arp –a –d - удалить все записи из таблицы ARP

Маршрутизация

Эти утилиты позволяют выполнять администрирование сети linux, а также настраивать маршрутизацию между узлами.

netstat –r - вывести таблицу маршрутизации

Таблица маршрутизации хранится в ядре и используется для маршрутизации IP пакетов за пределами локальной сети.

route add - эта команда используется для установки статических (нединамических) маршрутов вручную. Все пакеты, отправляемые с этого компьютера в определенную сеть должны пройти через определенный шлюз. Этот шлюз мы и устанавливаем командой route. Мы можем задать маршрут по умолчанию, чтобы все отправляемые пакеты, для которых не определен шлюз отправлялись через него, для этого используйте в качестве целевого адреса 0.0.0.0.

routed - BSD демон, который выполняет динамическую маршрутизацию. Он работает по протоколу RIP. Запускать программу можно только с правами суперпользователя.

gated - это альтернатива для routed, может использовать протоколы RIP, OSPF, EGP одновременно. Тоже нужны права root.

traceroute - очень полезная утилита, для отслеживания маршрута пакетов. Чаще всего с помощью этой команды выполняется проверка сети linux. Пакет отправляет сообщение на компьютер со всех шлюзов между источником и пунктом назначения.

netstat –rnf inet - отображает таблицу маршрутизации ipv4

sysctl net.inet.ip.forwarding=1 - разрешает прохождение пакетов через этот компьютер.

route flush - удалить все маршруты

route add -net 0.0.0.0 192.168.10.2 - добавить маршрут по умолчанию

routed -Pripv2 –Pno_rdisc –d [-s|-q] - запустить демон routed по протоколу RIP2 без поддержки ICMP автообнаружения и подробном (s) или минимальном (q) режиме вывода информации.

route add 224.0.0.0/4 127.0.0.1 - добавить маршрут, используемый RIP2

rtquery –n - попросить RIP демона отправить запрос на другой хост (ручное обновление таблицы маршрутизации.

Другое

Иногда нужно не только управление сетью linux, но и работа с другими протоколами, такими как DNS или FTP.

nslookup - отправить запрос DNS серверу, на преобразование доменного имени в IP. Например, nslookup facebook.com вернет ip адрес сервера facebook.com.

ftp хост - передать файлы на хост. Часто нужно использовать также логин и пароль.

rlogin -l - подключиться к виртуальному терминалу с помощью telnet. Не рекомендуется использовать эту конструкцию, лучше используйте защищенное соединение по ssh.

Важные файлы

/etc/hosts - локальные имена для ip адресов

/etc/networks - имена сетей относительно ip адресов

/etc/protocols - имена протоколов для номеров протоколов

/etc/services - tcp/udp сервисы для номеров портов

Анализ сети

ifconfig интерфейс адрес - запустить интерфейс

ifconfig интерфейс - остановить интерфейс

ethereal & - позволяет запустить ethereal в фоновом режиме

tcpdump –i -vvv - инструмент для записи и анализа пакетов

netstat –w секунды –I интерфейс - отобразить настройки сети и статистику

udpmt –p порт –s байт целевой_хост - генерирует UDP трафик

udptarget –p порт - получать UDP трафик

tcpmt –p порт –s байт целевой_хост - генерировать TPC трафик

tcptarget –p порт - получать TCP трафик

ifconfig - посмотреть состояние сетевых интерфейсов

netmask - позволят посмотреть подсети

Свитчинг

ifconfig sl0 srcIP dstIP - настроить серийный интерфейс(сначала выполните slattach –l /dev/ttyd0 а затем sysctl net.inet.ip.forwarding=1

telnet 192.168.0.254 - подключится к свитчу из этой подсети

sh ru или show running-configuration - отобразить текущую конфигурацию

configure terminal - перейти в режим настройки

exit - выйти из режима настройки

VLAN

vlan n - создать VLAN с ID n

no vlan N - удалить VLAN с ID N

untagged Y - добавить порт Y к VLAN N

ifconfig vlan0 create - создать интерфейс vlan0

ifconfig vlan0 vlan ID vlandev em0 - соединить vlan0 с em0

ifconfig vlan0 up - активировать виртуальный интерфейс

UDP / TCP

Это программы для работы с сетью linux, которые позволяют передавать пакеты между машинами.

socklab udp - запустить socklab по протоколу udp.

sock - создать udp соект

sendto ид_сокета хост - порт передача пакетов данных

recvfrom ид_сокета размер_байт - получить данные из сокета

socklab tcp - запустить socklab по протоколу tcp

passive - создать сокет в пассивном режиме.

accept - разрешает входящие соединения

connect хост порт - эквивалент socklab

clase - закрывает соединение

write - записать несколько байт в сокет

NAT/Фаервол

rm /etc/resolv.conf - отключает разрешение доменных имен, что гарантирует правильную фильтрацию по правилам фаервола.

ipnat –f имя_файла -записывает правила фаервола в файл

ipnat –l - получить список активных правил

ipnat –C –F - Очистить таблицу правил

map em0 192.168.1.0/24 -> 195.221.227.57/32 em0 - привязать IP адреса к интерфейсу

map em0 192.168.1.0/24 -> 195.221.227.57/32 portmap tcp/udp 20000:50000 - привязка IP адреса вместе с портом.

ipf –f имя_файла - записать правила в файл

ipf –F –a - очистить таблицу правил

ipfstat –I - информация о фильтрации, отфильтрованных пакетах и правилах.

Выводы

В этой статье мы рассмотрели самые полезные сетевые утилиты linux, с помощью них вы можете выполнять тестирование сети linux, проверить сеть на работоспособность и обнаружить неполадки сети. Более подробную информацию по каждой из них вы можете найти в официальной документации.

Лучшие статьи по теме