Linux проверить соединение с сервером

Содержание
  1. тестирования сети в Линукс
  2. traceroute
  3. tcpdump
  4. ngrep
  5. mii-tool
  6. Linux: Команды для настройки и диагностики сети
  7. Общая
  8. 1. PING
  9. 2. TRACEROUTE
  10. 3. IFCONFIG
  11. 3.1. Использование команды ifconfig
  12. 3.2 Указание IP-адреса и маски подсети
  13. 3.3. Включение и выключение
  14. 3.4 Указание MTU
  15. 4. NETSTAT
  16. 4.1 Показать список прослушиваемых портов, всех или по протоколу
  17. 4.2 Показать список активных соединений, всех или по протоколу
  18. 4.3 Показать статистику по протоколам
  19. 4.4 Показать PID и имя службы
  20. 4.5 Показать список программ прослушивающих определённый порт
  21. 5. DIG
  22. 6. ROUTE
  23. 6.1 Создать маршрут по умолчанию route add default gw 192.168.0.1
  24. 6.2. Создать или удалить маршрут
  25. 7. ARP
  26. linux-notes.org
  27. Топ-10 Основных сетевых команд в Linux
  28. Сетевые команды в примерах в Linux
  29. Примеры использования сетевых команд в Linux
  30. hostname — Имя хоста
  31. ping — пинг
  32. Ifconfig
  33. traceroute
  34. netstat
  35. nslookup
  36. finger
  37. telnet
  38. One thought on “ Топ-10 Основных сетевых команд в Linux ”
  39. Добавить комментарий Отменить ответ

тестирования сети в Линукс

Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.

# ping -n -i 0.2 -s 512 -I eth0 ya.ru
PING ya.ru (93.158.134.8) from 10.0.94.2 eth0: 512(540) bytes of data.
520 bytes from 93.158.134.8: icmp_seq=1 ttl=59 time=17.5 ms
520 bytes from 93.158.134.8: icmp_seq=2 ttl=59 time=15.0 ms
520 bytes from 93.158.134.8: icmp_seq=3 ttl=59 time=14.7 ms
3/3 packets, 0% loss, min/avg/ewma/max = 14.757/15.777/16.899/17.512 ms
520 bytes from 93.158.134.8: icmp_seq=4 ttl=59 time=14.7 ms
^C

Ключ -n означает, что надо выводить IP адреса вместо доменных имен, это полезно если пингуете по IP, тогда не будет тратится время на разрешение доменого имя, а еще, если DNS сервер не доступен это приведет к паузе в несколько секунд. Ключ -i задает интервал между отправкой пакетов, а -s размер пакета. Размер не может быть больше, чем MTU интерфейса. При помощи комбинации ключей -i и -s можно загрузить канал на любую ширину. -I задает имя интерфейса, через который будет отправлен пакет, полезно, если надо обойти таблицу маршрутизации. Чтобы вывести статистику, как я сделал я после третьего пакета, надо послать пингу сигнал SIGQUIT, с клавиатуры это делается Cntr+\

traceroute

#traceroute -N 16 -q 1 -A ya.ru
traceroute to ya.ru (77.88.21.8), 30 hops max, 60 byte packets
1 10.94.171.1 (10.94.171.1) [AS65534] 1.402 ms
2 1.32.108.213.hl.ru (213.108.32.1) [AS47333] 1.618 ms
3 94.122.dsl.westcall.net (195.177.122.94) [AS20485/AS25408] 2.859 ms
4 b0-152.mrouter.r.westcall.net (84.52.109.161) [AS25408] 3.021 ms
5 GW-Yandex.retn.net (87.245.250.102) [AS9002] 3.266 ms
6 aluminium-vlan901.yandex.net (77.88.56.111) [AS13238] 14.037 ms
7 gallium-vlan901.yandex.net (77.88.56.126) [AS13238] 16.517 ms
8 hummer-vlan2.yandex.net (87.250.228.136) [AS13238] 16.443 ms
9 ya.ru (77.88.21.8) [AS13238] 15.809 ms

traceroute показывает маршрут до удаленного хоста. По умолчанию он работает довольно медленно, так как опрашивает каждый роутер на пути пакета, по очереди и по три раза. Вы видите три времени ответа рядом с каждым хостом или три звездочки, если он не отвечает. Но traceroute можно ускорить. Ключ -N показывает сколько шагов пути пакета, они называются хопами, найти за 1 цикл, а -q количество запросов, которые будут отправлены к хосту. Ключ -A показывает номер автономной системы. Автономная система — блок IP сетей, выделенных одному оператору.

Читайте также:  Как прописать загрузчик windows

#mtr ya.ru
Приведет к такому экрану.

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

tcpdump

Иногда полезно глубже заглянуть, что же происходит в сети. Какие пакеты приходят и уходят. Например, чтобы удостовериться, что пакеты все таки уходят, а не блокируются фаерволом.

Вот что происходит при команде

В соседнем терминале запущен tcpdump
%sudo tcpdump -ni eth1 udp and port 53 and host 10.0.1.1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
13:09:39.038766 IP 10.94.171.10.41440 > 10.0.1.1.53: 24708+ A? ya.ru. (23)
13:09:39.040403 IP 10.0.1.1.53 > 10.94.171.10.41440: 24708 3/2/0 A 77.88.21.8,[|domain]

Расшифровываю вывод. С хоста 10.94.171.10 порт 41440 на 10.0.1.1 порт 53 пошел запрос А записи для адреса ya.ru. 53 порт это протокол DNS следующая строчка это ответ DNS сервера, по адресу 10.0.1.1
Не смотря на название, tcpdump знает множество сетевых протоколов. Ключ -i показывает какой интерфейс будем слушать, -n не запрашивать имена в DNS для IP адресов. Дальше в командной строке идет описание какие именно пакеты мы будем отлавливать. Здесь я не буду описывать команды фильтрации — их множество, остановлюсь только на возможностях. И так можно выбирать с какого и на какой хост идет пакет, с какого и на какой порт и даже диапазон портов. Можно группировать фильтры при помощи скобок и логических слов and, or, not. Выбирать протоколы icmp, arp, tcp, udp подробности в мане.

ngrep

#ngrep -W byline -d eth0 NOTIFY port 5060
interface: eth0 (213.108.32.94/255.255.255.255)
filter: (ip or ip6) and ( port 5060 )
match: NOTIFY
#
U 213.108.33.128:5060 -> 85.114.2.44:5060
NOTIFY sip:85.114.2.44 SIP/2.0.
Via: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bK-2c32804.
From: 8126221842 ;tag=4751f3b994a4aca8o0.
To: .
Call-ID: a85b76bd-dc9f6574@192.168.1.2.
CSeq: 22858 NOTIFY.
Max-Forwards: 70.
Event: keep-alive.
User-Agent: Linksys/PAP2T-5.1.6(LS).
Content-Length: 0.

Ключ -W byline форматирует вывод по знакам переноса строки внутри пакета. Это очень удобно для почтовых протоколов или SIP, как в примере. Строка фильтра пакетов формируется так же, как и в tcpdump. Если не указывать какую подстроку ищем, то ngrep будет дампить все подходящие по условую пакеты. Если внутри пакета нет текстовой информации, тогда он обозначается решеткой (#)

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

# ip route get 10.94.171.10
10.94.171.10 dev eth1.173 src 10.94.171.1
cache mtu 1500 advmss 1460 hoplimit 64

Как посмотреть кто или что забивает канал?
Для этого есть утилита iptraf c интерфейсом основанным на ncurses. При запуске без параметров выводит меню.
Для того, чтобы посмотреть суммарную статистику по интерфейсу
iptraf -d eth0

Для статистики по соединениям
iptraf -i eth0

Например у вас есть VPN туннель. Как проверить его ширину? Самый простой способ это утилита iperf. На одном хосте запускаем ее с ключем -s это будет сервер, который повиснет по умолчанию на порт 5001. С другой стороны запускаем с единственным параметром — адресом нашего сервера.

mii-tool

# mii-tool eth0
eth0: negotiated 100baseTx-FD flow-control, link ok

Утилитка из пакета net-tools. Показывает скорость физлинка. При ее помощи можно выловить проблему, когда две сетевые карточки не могут автоматически договориться о скорости и в результате будет что-то типа 10 мбит полудуплекс. Редкая проблема, но до сих пор встречается.

За рамками обзора остались nmap и hping. Жду в камментах ссылки на другие полезные программы. Может имеет смысл перенести в какой-нибудь подходящий блог?

Читайте также:  Запуск приложений от имени администратора windows 10 по умолчанию

Источник

Linux: Команды для настройки и диагностики сети

Оценка: 87.58 % — 30 Голосов

Общая

Пример простых команд в Linux, которые помогут настроить и продиагностировать сетевое соединение.

1. PING

Команда Ping — самый простой способ проверить качество и стабильность соединения между двумя сетевыми устройствами, расположенными в локальной или глобальной сети. Команда использует ICMP протокол для связи с сетевым устройством.

ping ip-адерсе или dns-имя узла

2. TRACEROUTE

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

Использование команды:

traceroute ip-адрес или dns-имя узла

3. IFCONFIG

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

3.1. Использование команды ifconfig

Команда ifconfig выводит настройки всех сетевых интерфейсов.

3.2 Указание IP-адреса и маски подсети

ifconfig eth0 10.100.4.1 netmask 255.255.255.0

3.3. Включение и выключение

Включение интерфейса eth0:

Выключение интерфейса eth0:

3.4 Указание MTU

Указание MTU на интерфейсе eth0

ifconfig eth0 mtu XXXX

4. NETSTAT

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

4.1 Показать список прослушиваемых портов, всех или по протоколу

Все TCP UDP
netstat -a netstat -at netstat -au

4.2 Показать список активных соединений, всех или по протоколу

Все TCP UDP
netstat -l netstat -lt netstat -lu

4.3 Показать статистику по протоколам

Все TCP UDP
netstat -s netstat -st netstat -su

4.4 Показать PID и имя службы

4.5 Показать список программ прослушивающих определённый порт

netstat -ap | grep http

5. DIG

Схожие по функционалу и принципу использования являются так же команды host и nslookup

Команда позволяет проверить записи на указанном DNS-сервере

A-запись MX-запись SOA-запись TTL-запись Все записи
dig имя_домена dig имя_домена mx dig имя_домена soa dig имя_домена ttl dig имя_домена any

Укоротить вывод команды поможет параметр +shortРеверс-запись можно посмотреть командой
dig -x IP-адрес +short

6. ROUTE

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

6.1 Создать маршрут по умолчанию
route add default gw 192.168.0.1

6.2. Создать или удалить маршрут

Создать
route add -net 10.10.10.0/24 gw 192.168.0.1

Удалить
route del -net 10.10.10.0/24 gw 192.168.0.1

7. ARP

Позволяет просматривать, добавлять и удалять записи в ARP-таблицы

Источник

linux-notes.org

Топ-10 Основных сетевых команд в Linux

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

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

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

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

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

hostname — Имя хоста

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

Читайте также:  Тип файловой системы для linux

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

ping — пинг

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

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

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

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

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

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

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

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

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

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

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

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

Ifconfig

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

traceroute

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

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

netstat

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

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

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

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

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

nslookup

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

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

finger

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

telnet

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

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

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

One thought on “ Топ-10 Основных сетевых команд в Linux ”

Ну что прикольная статься. Норм короче. Автор красавчик.

Добавить комментарий Отменить ответ

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

Источник

Оцените статью