Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Что такое IP-адрес, маска, хост, адрес сети.
Здравствуйте, в этой статье вы узнаете что такое IP-адрес, маска, хост, адрес сети и как это рассчитывается. Давайте начнем с ip-adress (айпи-адреса). Он записывается в виде 4 чисел от 0 до 255 разделенных точками.
Например такой: 192.168.1.1
каждый из этих чисел представляет собой один байт т. е. может принимать максимум 256 значений. Если перевести числа ip — adress в двоичную систему то это можно увидеть наглядно. Наш ip — adress будет выглядеть вот так: 11000000.10101000.00000001.00000001
В ip — adress записывается адрес сети и адрес хоста. Адрес хоста еще иногда называют адресом компьютера в сети. Часть нулей и единиц является адресом сети, а другая часть адресом хоста. Для того что бы понять что где находится нужна маска подсети. Маска подсети это тоже набор чисел от 0 до 255 только в двоичной системе всегда в ней сначала идут единицы, а потом нули.
Рассмотрим такой пример: 255.255.255.0 — маска подсети
В двоичной системе она будет иметь такой вид 11111111.11111111.11111111.00000000
На месте этих единиц в ip — adress записывается адрес сети, а на месте нолей адрес хоста.
Давайте определим адрес сети. Нужно выписать все числа которые находятся над единицами. Либо можем перемножить разряды получится то же самое.
11000000.10101000.00000001.00000001
11111111. 11111111. 11111111. 00000000
Адрес сети будет равен
что в десятичной системе будет равно
192.168.1.0 — адрес сети.
Номер компьютера оставшиеся числа под нулями вот эти
При этом хостом не может быть 0 потому что в этом случае у нас получится адрес сети вот такой 192.168.1.0. И хостом не могут быть все 1 потому что для всех 1 у нас зарезервирован широковещательный адрес т. е. из всех возможностей из 256 которые здесь могут быть, хостом могут быть только 254.
Теперь давайте определим сколько различных хостов может быть вот для такой маски
Запишем каждый байт этой маски в двоичной системе счисления
Адрес сети нам не нужен нам нужно узнать только сколько здесь возможных хостов. Как мы видим у нас вот эта часть (все единицы) маски необходима для определения адреса сети.
Под хосты выделены 13 нулей. Соответственно каждый разряд этой части ip — adress может принимать либо единицу либо ноль, проще говоря возможны 2 варианта. 2 в 13 степени т. к. у нас 13 нулей равно 8192. У нас не может быть хоста со всеми нулями или всеми единицами поэтому нужно вычесть 2 адреса тогда получиться 8190.
Это только базовые знания построения адресации сетей. Мы не рассматривали зарезервированные адреса для подсетей и т. д. Но в целом этого достаточно для базовых знаний.
Как устроен IP-адрес – главный идентификатор в мире сетей TCP/IP
Если вы работали с компьютерами какое-то время, то, вероятно, сталкивались с IP-адресами – эти числовые последовательности, которые выглядят примерно как 192.168.0.15. В большинстве случаев нам не нужно иметь дело с ними напрямую, поскольку наши устройства и сети заботятся об их обработке «за кулисами». Когда же нам приходится иметь с ними дело, мы часто просто следуем инструкциям о том, какие и где вписать цифры. Но, если вы когда-либо хотели погрузиться немного глубже в то, что означают эти цифры, эта статья для вас.
Зачем вам это нужно? Понимание того, как работают IP-адреса, жизненно важно, если вы когда-нибудь захотите устранить неполадки в вашей домашней сети или понять, почему конкретное устройство не подключается так, как вы ожидаете. И если вам когда-либо понадобится создать нечто более продвинутое, такое как хостинг игрового сервера или медиа-сервер, к которому могут подключаться друзья из интернета, вам нужно будет что-то знать об IP-адресации. Плюс, это немного увлекательно.
В этой статье мы расскажем об основах IP-адресации, о том, что хотели бы знать люди, которые используют IP-адреса, но никогда не задумывались об их структуре. Мы не собираемся освещать некоторые из более продвинутых или профессиональных уровней, таких как классы IP, бесклассовая маршрутизация и пользовательская подсеть. но вы легко найдёте источники для дальнейшего чтения.
Что такое IP-адрес
IP-адрес однозначно идентифицирует устройство в сети. Вы видели эти адреса раньше; они выглядят примерно как 192.168.1.34.
IP-адрес всегда представляет собой набор из четырех таких чисел. Каждый номер может находиться в диапазоне от 0 до 255. Таким образом, полный диапазон IP-адресов составляет от 0.0.0 до 255.255.255.255.
Компьютеры работают с двоичным форматом, но нам, людям, гораздо проще работать с десятичным форматом. Тем не менее, зная, что адреса фактически являются двоичными числами, нам легче будет понять, почему некоторые вещи, связанные с IP-адресами, работают так, как они это делают.
Две базовые части IP-адреса
IP-адрес устройства состоит из двух отдельных частей:
Чтобы представить всё это немного лучше, давайте обратимся к аналогии. Это очень похоже на то, как уличные адреса работают в городе. Возьмите адрес, такой как Набережная 29/49. Название улицы похоже на идентификатор сети, а номер дома похож на идентификатор хоста. Внутри города никакие две улицы не будут называться одинаково, так же как ни один идентификатор сети в одной сети не будет назван одинаковым. На определенной улице каждый номер дома уникален, так же как все ID хоста в определенном сетевом идентификаторе.
Маска подсети в IP-адресе
Как же ваше устройство определяет, какая часть IP-адреса является идентификатором сети, а какая часть – идентификатор хоста? Для этого они используют второе число, которое называется маской подсети.
В большинстве простых сетей (например, в домашних или офисных) вы увидите маску подсети в формате 255.255.255.0, где все четыре числа равны либо 255, либо 0. Позиция изменения с 255 на 0 указывает на разделение между сетью и идентификатором хоста.
Основные маски подсети, которые мы описываем здесь, известны как маски подсети по умолчанию. В более крупных сетях ситуация становится более сложной. Люди часто используют пользовательские маски подсети (где позиция разрыва между нулями и единицами сдвигается в октете) для создания нескольких подсетей в одной сети.
Адрес шлюза по умолчанию
В дополнение к самому IP-адресу и маске подсети, вы также увидите адрес шлюза по умолчанию, указанный вместе с информацией IP-адресации. В зависимости от используемой платформы, этот адрес может называться по-другому. Его иногда называют «маршрутизатором», «адресом маршрутизатора», «маршрутом по умолчанию» или просто «шлюзом». Это всё одно и то же.
Это стандартный IP-адрес, по которому устройство отправляет сетевые данные, когда эти данные предназначены для перехода в другую сеть (с другим идентификатором сети).
Простейший пример этого можно найти в обычной домашней сети. Если у вас есть домашняя сеть с несколькими устройствами, у вас, вероятно, есть маршрутизатор, подключенный к интернету через модем. Этот маршрутизатор может быть отдельным устройством или может быть частью комбо-модуля модем/маршрутизатор, поставляемого вашим интернет-провайдером.
Маршрутизатор находится между компьютерами и устройствами в вашей сети и более ориентированными на открытый доступ устройствами в интернете, передавая (или маршрутизируя) трафик взад и вперёд.
Скажем, вы запускаете свой браузер и отправляетесь на сайт webznam.ru. Ваш компьютер отправляет запрос на IP-адрес нашего сайта. Поскольку наши серверы находятся в интернете, а не в вашей домашней сети, этот трафик отправляется с вашего ПК на ваш маршрутизатор (шлюз), а ваш маршрутизатор перенаправляет запрос на наш сервер. Сервер отправляет правильную информацию обратно вашему маршрутизатору, который затем перенаправляет информацию обратно на запрашиваемое устройство, и вы видите как наш сайт отображается в нашем браузере.
Как правило, маршрутизаторы настроены по умолчанию, чтобы их частный IP-адрес (их адрес в локальной сети) был первым идентификатором хоста. Так, например, в домашней сети, использующей 192.168.1.0 для сетевого ID, маршрутизатор обычно будет на хосте 192.168.1.1.
Серверы DNS
Существует одна заключительная часть информации, которую вы увидите вместе с IP-адресом устройства, маской подсети и адресом шлюза по умолчанию: адреса одного или двух серверов DNS по умолчанию. Мы – люди – намного лучше работаем с символическими названиями, чем с числовыми адресами. Ввести webznam.ru в адресную строку вашего браузера намного проще, чем запоминать и вводить IP-адреса нашего сайта.
DNS работает как телефонная книга, храня удобные для человека имена веб-сайтов (домены), и преобразуя их в IP-адреса. DNS делает это, сохраняя всю эту информацию в системе связанных DNS-серверов через интернет. Вашим устройствам необходимо знать адреса DNS-серверов, на которые нужно отправлять свои запросы.
В типичной малой или домашней сети IP-адреса DNS-сервера часто совпадают с адресами шлюза по умолчанию. Устройства отправляют свои DNS-запросы на ваш маршрутизатор, а затем перенаправляют запросы на любые DNS-серверы, которые укажет маршрутизатор. По умолчанию, это обычно любые DNS-серверы, предоставляемые вашим провайдером, но вы можете изменить их для использования разных DNS-серверов, если хотите.
В чем разница между IPv4 и IPv6
Возможно, вы также заметили при просмотре настроек другой тип IP-адреса, называемый адресом IPv6. Типы IP-адресов, о которых мы говорили до сих пор, – это адреса, используемые протоколом IP версии 4 (IPv4), разработанным в конце 70-х годов. Они используют 32 бинарных бита, о которых мы говорили (в четырех октетах), чтобы обеспечить в общей сложности 4,29 миллиарда возможных уникальных адреса. Хотя это много, все общедоступные адреса давно были «потреблены» предприятиям. Многие из них сейчас не используются, но они назначены и недоступны для общего использования.
В середине 90-х годов, обеспокоенная потенциальной нехваткой IP-адресов, специальная рабочая группа Internet Engineering Task Force (IETF) разработала IPv6. IPv6 использует 128-битный адрес вместо 32-разрядного адреса IPv4, поэтому общее количество уникальных адресов многократно выросло и стало достаточно большим (вряд ли когда-либо закончится).
В отличие от точечной десятичной нотации, используемой в IPv4, адреса IPv6 выражаются в виде восьми групп номеров, разделенных двоеточиями. Каждая группа имеет четыре шестнадцатеричных цифры, которые представляют 16 двоичных цифр (это называется хекстетом). Типичный IPv6-адрес может выглядеть примерно так:
Дело в том, что нехватка адресов IPv4, вызвавшая беспокойство, в значительной степени смягчалась увеличением использования частных IP-адресов через маршрутизаторы. Всё больше и больше людей создавали свои собственные частные сети, используя частные IP-адреса.
Как устройство получает IP-адрес
Теперь, когда вы знаете основы работы IP-адресов, давайте поговорим о том, как устройства получают свои IP-адреса. Существует два типа IP-назначений: динамический и статический.
Динамический IP-адрес назначается автоматически, когда устройство подключается к сети. Подавляющее большинство сетей сегодня (включая вашу домашнюю сеть) используют Dynamic Host Configuration Protocol (DHCP). Когда устройство подключается к сети, оно отправляет широковещательное сообщение с запросом IP-адреса. DHCP перехватывает это сообщение, а затем назначает IP-адрес этому устройству из пула доступных IP-адресов.
Особенность динамических адресов заключается в том, что они могут иногда меняться. DHCP-серверы арендуют IP-адреса устройствам, и когда этот «срок аренды» заканчиваются, устройства должны получить другой IP-адрес из пула адресов, которые может назначить сервер.
В большинстве случаев это не имеет большого значения, и всё будет как и работало. Однако, вы можете указать устройству IP-адрес, который должен сохраняться. Например, у вас устройство, к которому нужно получать доступ вручную, и вам легче запомнить IP-адрес, чем имя. Или, у вас есть определенные приложения, которые могут подключаться только к сетевым устройствам, используя свой IP-адрес.
В этих случаях вы можете назначить статический IP-адрес для этих устройств. Есть несколько способов сделать это. Вы можете вручную настроить устройство со статическим IP-адресом, хотя иногда это может быть утомительным. Другим, более элегантным решением является настройка маршрутизатора для назначения статических IP-адресов определенным устройствам во время динамического назначения сервером DHCP. Таким образом, IP-адрес никогда не меняется, но вы не прерываете процесс DHCP, который обеспечивает бесперебойную работу.
7 способов определить хостера сайта
Периодически перед многими из вебмастеров возникает задача определить хостера, у которого живет тот или иной сайт. Мотивация для этого бывает самая разная, как простое любопытство, так и желание поселиться по соседству на хорошем и стабильном хостинге или наоборот не вляпаться в такое соседство. В этом посте я приведу несколько известных мне методов с их достоинствами и недостатками. Вполне возможно, что он неполон, поэтому дополнения всячески приветствуются.
Так же «на берегу» оговорюсь: все упомянутые ниже сайты и хостеры упомянуты исключительно как наглядные примеры, и ни в коем случае не в качестве рекламы или, упаси господи, антирекламы. Выбор оных был сделан так же практически случайно — где какие методы у меня в свое время срабатывали, то и привожу.
Способы я перечисляю в порядке убывания точности и, к сожалению, в порядке возрастания вероятности срабатывания.
1. NS-сервера
Плюсы
Минусы
2. Ошибка 403/404
Не могу сказать, что большинство, но немало серьезных хостеров страницы ошибок веб-сервера по умолчанию делают с информацией о себе, а многие их клиенты забывают/ленятся их переопределить. Поэтому в первую очередь стоит попытаться вызвать такую ошибку и посмотреть, что получится. Бывает так, что CMS на сайте при помощи mod_rewrite перехватывает запросы к несуществующим файлам и отдает в ответ свою 404-ю ошибку. Это можно попробовать обойти, вызвав ошибку 403 путем обращения к какталогу без индексного файла. Им может быть папка с картинками/шаблонами, папка для загруженных файлов, кэша движка, системная папка типа includes и т. п. Небольшой хинт — иногда на странице ошибки есть email вебмастера и часто из него можно узнать домен сайта хостера.
Пример
Сайт: sloger.net
Cтраница с 404 ошибкой.
Результат: Хостер Hostgator
Плюсы
Минусы
3. Виртуалхост по умолчанию.
Здесь ситуация во многом аналогична предыдущей — крупные хостеры как правило на виртуалхост по умолчанию ставят свои заглушки, мелкие часто этим пренебрегают и виртуалхостом по умолчанию как правило становится либо первый сайт первого их клиента, либо стандартная заглушка от панели управления (особенно часто это наблюдается в случае с cpanel). Кстати, при первом раскладе есть приятный частный случай, состоящий в том, что иногда первым сайтом первого клиента становится сайт самого хостера и поэтому прием все же дает желаемый результат.
Самый надежный способ попасть на виртуалхост по умолчанию — это обратиться к веб-серверу по IP.
Пример
Плюсы
Минусы
4. Reverse DNS Lookup
Не вдаваясь в подробности скажу, что для любого IP адреса можно с помощью PTR записи в DNS-зоне можно задать «домен по умолчанию“ (не совсем точный термин, но не в этом суть). При этом подавляющее большинство хостеров присваивают своим серверам домены по умолчанию, содержащие в себе имя домена хостера, т. е. что-то вроде server-name.hoster-name.com.
Самый простой вариант узнать это доменное имя по умолчанию — при помощи всем родного ping’a (альтернативно — команды host, dig и nslookup под Linux’ом, аналоги под виндой должны быть, но я про них ничего не знаю).
Пример
PING cisnet.ru (78.108.81.180) 56 (84) bytes of data.
64 bytes from timur.majordomo.ru (78.108.81.180): icmp_seq=1 ttl=55 time=102 ms
Результат: Хостер — majordomo.ru
Плюсы
Минусы
5. Traceroute
Этот способ тесно связан с предыдущим, поскольку тоже подразумевает использование Reverse DNS Lookup, только на этот раз мы будем смотреть домены и для узлов на пути к интересующему нас узлу. Смысл в этом прост — по доменам последних узлов в трейсе мы с большой вероятностью угадаем хостера или датацентр, в котором размещен интересующий нас сайт. Очевидно, что этот способ поможет нам в случае если испытуемый сидит на VPS или выделенном сервере.
Пример
traceroute to phpbbguru.net (88.198.45.197), 30 hops max, 60 byte packets
/* Пропущен неинтересный нам кусок */
6 87.226.228.149 (87.226.228.149) 126.004 ms 103.010 ms 103.147 ms
7 xe-2–2–0.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.150) 115.394 ms 115.575 ms xe-1–0–0.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.110) 137.887 ms
8 decix-gw.hetzner.de (80.81.192.164) 120.920 ms 137.137 ms 137.343 ms
9 hos-bb1.juniper1.rz6.hetzner.de (213.239.240.238) 115.458 ms hos-bb1.juniper2.rz6.hetzner.de (213.239.240.239) 118.008 ms 118.280 ms
10 hos-tr4.ex3k41.rz6.hetzner.de (213.239.252.180) 118.562 ms hos-tr2.ex3k41.rz6.hetzner.de (213.239.229.180) 137.399 ms hos-tr3.ex3k41.rz6.hetzner.de (213.239.252.52) 115.269 ms
11 static.88–198–45–197.clients.your-server.de (88.198.45.197) 136.016 ms 137.170 ms 132.209 ms
Плюсы
Минусы
6. Whois
Вот и добрались до Whois’a, великого и ужасного. В базе данных Whois хранятся не только данные о доменах, но и данные о владельцах диапазонов и отдельных IP-адресов. Соответственно, на основе информации мы можем попытаться установить компанию-владельца хостинга или датацентра.
Пример
whois 83.222.4.124% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See www.ripe.net/db/support/db-terms-conditions.pdf
% Note: This output has been filtered.
% To receive output for a database update, use the «-B» flag.
% Information related to ‘83.222.4.0 — 83.222.5.255’
inetnum: 83.222.4.0 — 83.222.5.255
netname: MASTERHOST-COLOCATION
descr: Masterhost is a hosting and technical support organization.
country: RU
admin-c: MHST-RIPE
tech-c: MHST-RIPE
status: ASSIGNED PA
mnt-by: MASTERHOST-MNT
source: RIPE # Filtered
% Information related to ‘83.222.0.0/19AS25532’
Вывод: сайт живет на собственном сервере, размещенном у Мастерхоста.
Плюсы
Минусы
7. Сигнатура SMTP сервера
небольшой хак — телнет на 25 порт, в большинстве случаев на нём висит почтовый сервис который сразу выдаст хостнейм сервера.
На примере ваших сайтов:
# telnet cisnet.ru 25
Trying 78.108.81.180…
Connected to cisnet.ru.
Escape character is ‘^]’.
220 timur.majordomo.ru ESMTP Exim 4.69 Sat, 17 Apr 2010 22:20:47 +0400
# telnet phpbbguru.net 25
Trying 88.198.45.197…
Connected to phpbbguru.net.
Escape character is ‘^]’.
220 sds.fastvps.ru ESMTP Exim 4.69 Sat, 17 Apr 2010 22:23:25 +0400
Вместо telnet можно использовать netcat:
$ netcat cisnet.ru 25
220 timur.majordomo.ru ESMTP Exim 4.69 Sun, 18 Apr 2010 12:21:21 +0400
^C
Дополнительные сервисы, предложенные хабраобщественностью
Мораль
Практически в любом случае свое любопытство мы сумеем удовлетворить, вопрос лишь в том, насколько точно. А мораль для хостеров — не ленитесь обеспечить себе дополнительный канал притока клиентов, но в то же время не перегните палку, чтобы не распугать клиентов нынешних.
UDP. Перенес в Хостинг.
UPD2. Добавил еще два сервиса, предложенных в комментах.
UPD3, 30 мая. Неожиданно обнаружил этот топик в черновиках. Вернул на место.
PS. Если вы знаете еще способы — пишите, а я добавлю в список.
Что такое ip-адрес, маска подсети, хост, адрес сети
Из этой статьи Вы узнаете: Что такое ip-адрес, что такое маска подсети, что такое адрес сети, адрес хоста и как всё это рассчитывается!
ip-адрес записывается в виде четырёх чисел, от 0 до 255, разделённых точками.
Например: 192.168.1.1
Каждое из этих чисел представляет собой 1 байт, то-есть может принимать максимум 256 значений. Если перевести числа ip-адреса в двоичную систему, то это можно увидеть наглядно.
Например выше приведённый адрес в двоичной системе будет выглядеть таким образом:
В ip-адресе записывается адрес сети и адрес хоста (чаще его называют адресом компьютера в сети). Часть нулей и единиц является адресом сети, а какая-то часть является хостом. Для того чтобы понять что и где находится нужна как раз “маска подсети”.
Маска подсети это тоже набор чисел от 0 до 255, только в двоичной системе сначала в ней идут всегда единицы, а затем уже нули.
Рассмотрим пример, пусть у нас будет такого рода маска подсети: 255.255.255.0
В двоичной системе она будет иметь такой вид:
На месте единиц в ip-адресе записывается адрес сети, а на месте нулей – номер хоста.
Определим адрес сети.. У нас теперь есть две пары чисел в двоичной системе, это ip адрес и маска подсети:
Мы можем просто выписать все числа, которые находятся над единицами, либо мы можем перемножить разряды, то есть верхнюю первую единицу на нижнюю, получится тоже самое..
То есть адрес сети будет равен:
В десятичной системе этот результат будет равен 192.168.1.0 (то есть это будет адрес сети).
А номер компьютера это оставшиеся числа под нулями то есть вот эти:
При этом хостом не может быть ноль, потому что у нас получится адрес сети, тот самый 192.168.1.0. И хостом не могут быть все единицы, потому что для всех единиц у нас зарезервирован широковещательный адрес, то есть из всех возможностей, из 256-ти, которые могут быть, хостом могут быть только 254.
Теперь попробуем определить, сколько различных хостов может быть для такой вот маски:
255.255.224.0
Запишем каждый байт такой маски в двоичной системе счисления:
Нам нужно узнать сколько у нас здесь возможных хостов.
Эта часть маски необходима для определения маски адреса сети.
А под хосты у нас выделено 13 нулей. Соответственно каждый разряд этой части ip-адреса у нас может принимать либо единицу, либо ноль. Проще говоря здесь возможное количество вариантов – два.. так как либо единица – 1, либо ноль – 0 варианты.. И того, два варианта в 13 степени, что равно 8192.
Однако у нас не может быть хоста со всеми нулями или со всеми единицами, то есть мы должны вычесть из него ещё 2 адреса. В итого будет равняться 8190.
То есть для маски 255.255.224.0 у нас возможно 8190 различных ip адресов.
Ну разумеется это только базовые знания построения адресации сетей, например мы не рассматривали зарезервированные адреса для подсетей и т.д. Но в целом этого вполне достаточно, чтобы решать задания уровня ЕГЭ.
7 сетевых Linux-команд, о которых стоит знать системным администраторам
Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.
Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.
В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.
Команда ip
Команда ip — это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.
Синтаксис этой команды выглядит так:
Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:
Вывод IP-адресов, назначенных интерфейсу на сервере:
Назначение IP-адреса интерфейсу, например — enps03 :
Удаление IP-адреса из интерфейса:
Изменение статуса интерфейса, в данном случае — включение eth0 :
Изменение статуса интерфейса, в данном случае — выключение eth0 :
Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :
Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:
Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :
Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:
Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :
Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:
Вывод маршрута к IP 10.10.1.4:
Команда ifconfig
Команда mtr
Синтаксис команды выглядит так:
Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:
А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:
Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:
А так можно получить отчёт, содержащий результаты работы mtr :
Вот — ещё один вариант получения такого отчёта:
Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:
А вот так можно использовать UDP вместо ICMP:
Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:
Так можно настроить размер пакета:
Для вывода результатов работы mtr в формате CSV используется такая команда:
Вот — команда для вывода результатов работы mtr в формате XML:
Команда tcpdump
Утилита tcpdump предназначена для захвата и анализа пакетов.
Установить её можно так:
Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.
Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:
▍ Захват трафика, идущего к некоему хосту и от него
Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:
Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:
Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:
▍ Захват трафика, идущего в некую сеть и из неё
Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:
Ещё можно поступить так:
Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.
Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):
Вот — захват трафика с фильтрацией по сети, в которую он направляется:
▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта
Вот пример захвата трафика только для DNS-порта по умолчанию (53):
Захват трафика для заданного порта:
Захват только HTTPS-трафика:
Захват трафика для всех портов кроме 80 и 25:
Команда netstat
Если в вашей системе netstat отсутствует, установить эту программу можно так:
Ей, в основном, пользуются, вызывая без параметров:
В более сложных случаях её вызывают с параметрами, что может выглядеть так:
Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:
Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:
Для вывода сведений обо всех TCP-портах применяется такой вариант команды:
Если нужны данные по UDP-портам — утилиту вызывают так:
Список портов любых протоколов, ожидающих соединений, можно вывести так:
Список TCP-портов, ожидающих соединений, выводится так:
Так выводят список UDP-портов, ожидающих соединений:
А так — список UNIX-портов, ожидающих соединений:
Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:
Так выводятся статистические сведения по TCP-портам:
Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:
Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:
Команда nslookup
Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.
Рассмотрим распространённые примеры использования этой команды.
Получение A-записи домена:
Просмотр NS-записей домена:
Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:
Обнаружение всех доступных DNS-записей домена:
Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):
Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:
Команда ping
Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.
Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:
Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:
Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:
Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:
В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.
▍ Destination Host Unreachable
Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.
▍ Request timed out
Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.
▍ Unknown host/Ping Request Could Not Find Host
Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.
О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).
Итоги
Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.















