В любое время, когда вы используете свой ПК, подключенный к маршрутизатору, вы будете частью сети. Независимо от того, находитесь ли вы в офисной среде или просто работаете из дома, ваш компьютер будет в сети.
Что такое компьютерная сеть?
A computer network is defined as a group of 2 or more computers that are connected and can electronically communicate with each other. The computers are identified using their hostnames, IP, and mac addresses.
A simple home or office network is referred to as a LAN, short for Local Area Network. A LAN covers a small area such as a home, office, or restaurant network. In contrast, a WAN (Wide Area Network) spans a large geographical region. WAN is mostly used to connect various sites such as office buildings in different locations.
Эта статья является Частью 4 серии LFCA, здесь вы познакомитесь с общими сетевыми командами и узнаете, насколько они могут быть полезны при устранении проблем с подключением.
1. Команда hostname
Команда hostname отображает имя хоста системы Linux. Обычно оно устанавливается или настраивается во время установки. Чтобы проверить имя хоста, выполните команду:
$ hostname tecmint
2. Команда ping
Кратко для пакетного интернет-проверяющего, команда ping используется для проверки связи между 2 системами или серверами. Она отправляет запрос на эхо ICMP на удаленный хост и ожидает ответа. Если хост работает, запрос на эхо отскакивает от удаленного хоста и отправляется обратно к отправителю, уведомляя пользователя, что хост работает или доступен.
Команда ping имеет показанный синтаксис.
$ ping options IP address
Например, чтобы проверить хост в моей локальной сети с IP-адресом 192.168.2.103, я запущу команду:
$ ping 192.168.2.103 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.043 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.063 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.061 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.062 ms
Команда ping продолжает отправлять пакеты ICMP пинга, пока вы не прервете его, нажав Ctrl + C
на клавиатуре. Однако вы можете ограничить количество отправляемых пакетов, используя опцию -c
.
В приведенном ниже примере мы отправляем 5 пакетов запроса на эхо, и после завершения команда ping останавливается.
$ ping 192.168.2.103 -c 5 PING 192.168.0.123 (192.168.0.123) 56(84) bytes of data. 64 bytes from 192.168.2.103: icmp_seq=1 ttl=64 time=0.044 ms 64 bytes from 192.168.2.103: icmp_seq=2 ttl=64 time=0.052 ms 64 bytes from 192.168.2.103: icmp_seq=3 ttl=64 time=0.066 ms 64 bytes from 192.168.2.103: icmp_seq=4 ttl=64 time=0.056 ms 64 bytes from 192.168.2.103: icmp_seq=5 ttl=64 time=0.066 ms --- 192.168.2.103 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4088ms rtt min/avg/max/mdev = 0.044/0.056/0.066/0.008 ms
Кроме того, вы также можете проверить доменное имя хоста или сервера. Например, вы можете проверить Google, как показано.
$ ping google.com PING google.com (142.250.183.78) 56(84) bytes of data. 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=1 ttl=117 time=2.86 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=2 ttl=117 time=3.35 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=3 ttl=117 time=2.70 ms 64 bytes from bom12s12-in-f14.1e100.net (142.250.183.78): icmp_seq=4 ttl=117 time=3.12 ms ...
Также вы можете проверить DNS. Например, вы можете проверить адрес Google, который является 8.8.8.8.
$ ping 8.8.8.8 -c 5 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=3.24 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=3.32 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=3.40 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=3.30 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=2.92 ms --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 2.924/3.237/3.401/0.164 ms
A failed ping test is pointed to one of the following:
- A host that is offline.
- Общий сбой сети.
- Наличие брандмауэра, который блокирует запросы ICMP.
3. Команда трассировки
Команда traceroute отображает маршрут, который проходит пакет ICMP ping от вашего устройства к целевому хосту или серверу. Она отображает IP-адреса устройств, через которые проходит пакет, прежде чем достигнуть удаленного места назначения.
На второй строке вывода отображается знак звездочки *
в пинге. Это индикатор того, что пакет был отброшен и ответ не был получен. Это показывает, что пакет ping был отброшен маршрутизатором, и это может быть по разным причинам, таким как сетевая перегрузка.
Команда Traceroute – это удобная диагностическая команда, которую можно использовать для устранения неполадок в сети, где команда ping дает неудачные результаты. Она показывает устройство, на котором пакеты отбрасываются.
$ traceroute google.com

4. Команда mtr
Команда mtr (моя трассировка) объединяет функциональность команды ping и traceroute. Она отображает множество статистических данных, включая хост, через который проходит каждый пакет, и времена отклика для всех сетевых переходов.
$ mtr google.com

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

Параметр inet показывает адрес IPv4 сетевого интерфейса, в то время как inet6 указывает на адрес IPv6. Вы можете просмотреть подробности отдельного интерфейса, указав интерфейс, как показано:
$ ifconfig enp0s3

6. Команда IP
Другой способ просмотра статистики интерфейса – использование команды ip address, как показано.
$ ip address

7. Команда ip route
Команда ip route выводит таблицу маршрутизации вашего ПК.
$ ip route OR $ ip route show

8. Команда dig
Утилита dig (сокращение от Domain Information Groper) – это инструмент командной строки для исследования DNS-серверов. Она принимает доменное имя в качестве аргумента и отображает информацию, такую как адрес хоста, запись A, запись MX (почтовые обменники), именные серверы и т. д.
В общем, команда dig – это утилита для поиска DNS и в основном используется системными администраторами для устранения неполадок DNS.
$ dig ubuntu.com

9. Команда nslookup
Утилита nslookup – это еще один инструмент командной строки, который используется для выполнения DNS-запросов с целью извлечения имен доменов и A-записей.
$ nslookup ubuntu.com

10. Команда netstat
Команда netstat выводит статистику сетевых интерфейсов. Она может отображать таблицу маршрутизации, порты, на которых слушаются различные службы, TCP- и UDP-соединения, PID и UID.
Чтобы отобразить сетевые интерфейсы, подключенные к вашему ПК, выполните:
$ netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp1s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 4583 0 0 0 4583 0 0 0 LRU wlp2s0 1500 179907 0 0 0 137273 0 0 0 BMRU
Чтобы просмотреть таблицу маршрутизации, используйте опцию -r
, как показано.
$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default _gateway 0.0.0.0 UG 0 0 0 wlp2s0 link-local 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
Чтобы изучить активные TCP-соединения, вызовите команду:
$ netstat -ant

11. Команда ss
Команда ss – это сетевой инструмент, который используется для вывода статистики сокетов и показа системных сетевых метрик аналогично команде netstat. Команда ss работает быстрее, чем netstat, и отображает больше информации о TCP и сетевой статистике, чем netstat.
$ ss #list al connections $ ss -l #display listening sockets $ ss -t #display all TCP connection
Сводка
Это был обзор основных сетевых команд, которые будут полезны, особенно при устранении незначительных проблем сети в домашней или офисной среде. Попробуйте их время от времени, чтобы отточить свои навыки по устранению проблем сети.