Основы работы сетей для начинающего хакера. ip, dhcp, nat, port. tcp/ip

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
IP-address
Internet Protocol Address — уникальный сетевой адрес узла в компьютерной сети. По сути, чтоб тебе было понятней это твой домашний адрес. Каждому цифровому устройству (компьютеру, ноутбуку, телефону, планшету и т.д.) назначается IP-адрес, без этого адреса невозможно найти устройство и обратиться к нему.
Существует две системы ip адресов: IPv4 и IPv6 (IPv6 мы разберем в другом уроке, чтобы не распыляться) а сегодня IPv4.
В 4 версии IP адрес представляет собой 32-х битовое число, однако видим мы его в десятичном представлении, так банально удобней, а если быть точнее IP состоит из 4 групп по 8 битов каждая, разделенных точками, каждая группа может представлять числа в диапазоне от 0 до 255.

IP-адреса обычно делятся на три класса, каждому из которых соответствует свой диапазон:
  • Класс А : 0.0.0.0 — 127.255.255.255
  • Класс B : 128.0.0.0 — 191.255.255.255
  • Класс C : 192.0.0.0 — 223.255.255.255
в одном из следующих уроков мы рассмотрим подсети и маски подсетей которые отличаются в зависимости от класса ip адреса
Публичные и частные IP-адреса
Система ip адресов имеет свои ограничения и самое основное из них связано с тем что адресов банально не хватает для всех устройств. Система IPv4, имеет только 4,3 миллиарда IP-адресов. А людей на планете более 7 миллиардов, а устройств еще больше и постоянно появляются новые. В результате, что бы решить эту проблему, была разработана система для повторного использования группы IP-адресов, которые будут использоваться в локальной сети, и которые нельзя будет использовать в сети Интернет. Эти адреса можно использовать снова и снова в каждой локальной сети.
Эти частные адреса включают в себя диапазоны ip-адресов:
192.168.0.0 — 192.168.255.255
10.0.0.0 — 10.255.255.255
172.16-.0.0 — 172.16.255.255
если ты наберешь в командной строке ipconfig (для linux это ifconfig) то сможешь узнать свой частный ip. При этом если тебе нужно узнать ip адрес сайта, т.е. доменного имени, нужно написать nslookup и адрес сайта​
Для связи через Интернет его необходимо преобразовать в общедоступный IP-адрес с помощью устройства NAT, к этому мы ещё вернемся
DHCP
(англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла)
Отвечает за динамическое назначает IP-адреса. Это означает, что у тебя не один и тот же IP-адрес все время. Как правило эти назначения IP-адресов происходят в локальной сети. Когда устройство подключено к локальной сети, оно должно запросить IP-адрес. Это устройство отправляет запрос на сервер DHCP, который затем назначает IP-адрес этой системе на фиксированный период времени, это период времени называется «аренда».

NAT
(Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Что это означает?
Другими словами, это протокол, посредством которого внутренние частные IP-адреса «транслируются» на внешний общедоступный IP-адрес, который можно направить через Интернет к пункту назначения.
Устройство NAT принимает запросы с внутренней машины. Затем оно записывает IP-адрес этого устройства в таблицу и преобразует IP-адрес во внешний IP-адрес маршрутизатора. Когда пакет возвращается из пункта назначения, устройство NAT просматривает свою сохраненную таблицу исходных запросов и перенаправляет пакет на внутренний IP-адрес системы, которая сделала исходный запрос в локальной сети. При правильной работе пользователи не видят весь этот процесс, а многие и не знают что он вообще существует.
Порты
Порты это своего рода подадрес, если ip — это название улицы и номер дома, то порт — это номер квартиры.Точно также ip адрес приводит нас к нужному компьютеру, а порт к нужной службе.
Всего существует 65 535 портов. Первые 1024 из них обычно называют общие порты. Врядли ты сможешь запомнить их все, да и нет в этом особой необходимости, но толковый системный администратор (или хакер должен знать основные):
  • 20 FTP
  • 21 FTP
  • 22 SSH
  • 23 Telnet
  • 25 SMTP
  • 53 DNS
  • 69 TFTP
  • 80 HTTP
  • 88 Kerberos
  • 110 POP3
  • 123 NTP
  • 135 Microsoft’s RPC
  • 137-139 Microsoft’s NetBIOS
  • 143 IMAP
  • 161 SNMP
  • 389 LDAP
  • 443 HTTPS or HTTP over SSL
  • 445 SMB
  • 500 IKE
  • 514 syslog
  • 3389 RDP
Теперь немного о применяемых терминах относительно портов:
Если процесс постоянно использует один номер порта, то такой порт называют «открытым», примером может быть если вэб-сервер использует 80 порт для приема-передачи данных, то соответственно 80 порт считается открытым
Если процесс получил номер порта у ОС («открыл порт») и «держит его открытым» для приёма и передачи данных, это называется «прослушивание» порта.

Ты ведь наверняка слышал или видел такое название как TCP/IP. Хочу заметить, что рассказать всё о TCP/IP в одном уроке невозможно физически, поэтому сегодня мы разберем основы, что это такое и как работает. Причем ты должен понимать, что именно эти знания лежат в основе искусства взлома, ну или теста на проникновение, называй как хочешь и именно эти знания дадут тебе возможность изучить и понять практически любую атаку, или придумать свою.

В интернете используется очень много разных протоколов, но наиболее распространенные это IP и TCP. Теперь, как я уже говорил, давай, рассмотрим их более подробно.
TCP — Transmission Control Protocol — это протокол управления передачей, а IP — межсетевой протокол, но прежде чем разбирать их, давай, для начала разберемся что такое вообще протокол. На самом деле всё просто, протокол — это всего навсего согласованный способ общения, как, допустим, английский язык в международном сообществе. Т.е. по сути, протокол определяет способ связи со всеми его правилами. А правила определяются RFC, это Request for Comments, что можно перевести как запрос на отзывы — это документ, который содержит технические спецификации и стандарты применяемые в интернете.
IP или интернет-протокол, он же межсетевой протокол — это протокол, который используется для определения IP-адреса источника и получателя пакета при прохождении через Интернет. Так как он часто используется в сочетании с другими протоколами, такими как TCP, поэтому мы и видим название TCP / IP.
Теперь давай посмотрим на header, т.е заголовок IP-пакета и разберемся, какая информация в нем содержится:

1 ряд
  • version : определяет версию IP, v4 или v6.
  • IHL : определяет длину заголовка.
  • Type of Service (TOS) : определяет тип обслуживания этого пакета. К ним относятся минимизация задержки, максимизация пропускной способности, максимизация надежности и минимизация затрат.
  • Total Length : определяет общую длину дейтаграммы IP (включая данные) или фрагмента. Его максимальное значение составляет 65 535.
2 ряд
  • Identification : идентифицирует каждый пакет. Может иметь важное значение при повторной сборке фрагментированных пакетов.
  • IP Flag: определяет, является ли пакет фрагментированным (M) или нет (D). Манипулирование этим полем может быть использовано для обхода межсетевых экранов.
  • Fragment Offset : это поле используется, когда пакеты фрагментированы. Определяет, где пакеты должны быть повторно собраны.
3 ряд
  • TTL : это «время жизни». Определяет, сколько прыжков до истечения срока действия пакета. Это зависит от операционной системы, что делает его полезным для определения ОС отправителя.
  • Protocol : это поле определяет, какой протокол используется с IP. Чаще всего это 6 т.е. TCP, 1 это ICMP, 17 это UDP.
  • Header checksum: это поле проверки ошибок, вычисляет контрольную сумму, чтобы определить целостность данных в заголовке.
4 и 5 ряд
  • Source / Destination . Эти строки заголовка IP, пожалуй, наиболее важная часть заголовка, потому что они содержат IP-адрес источника и получателя.
6 ряд
  • Options: Это поле переменной длины, и его использование не является обязательным
Теперь рассмотрим заголовок TCP пакета:

1 ряд
  • Source Port / Destination Port : Это порт источника и порт назначения. Эти поля определяют, с какого порта пришло сообщение и куда оно идет.
Ряд 2
  • Sequence Number: Порядковый номер, генерируется стеком TCP исходного компьютера и используется для обеспечения того, чтобы пакеты располагались в правильной последовательности при поступлении.
Ряд 3
  • Acknowledgment Number : это эхо порядкового номера, отправленного обратно принимающей системой. Благодаря ему, отправитель знает, что пакет прибыл. Если отправитель не получает номер подтверждения обратно в фиксированный промежуток времени, он повторно отправит пакет, чтобы убедиться, что получатель получит пакет. Таким образом, TCP надежен (например, UDP не делает этого и поэтому ненадежен).
Ряд 4
  • Data offset указывает значение длины заголовка, измеренное в 32-битовых словах
  • CWR : Поле «Окно перегрузки уменьшено» — флаг установлен отправителем, чтобы указать, что получен пакет с установленным флагом ECE
  • ECE : Поле «Эхо ECN» — указывает, что данный узел способен на ECN (явное уведомление перегрузки) и для указания отправителю о перегрузках в сети
Четвертый ряд содержит очень важную информацию, а именно флаги. Эти флаги используются TCP для связи;
  • SYN : открытие нового соединения.
  • FIN : нормальное, мягкое закрытие соединения.
  • ACK : подтверждение пакета. У всех пакетов после трехстороннего рукопожатия должен быть установлен этот бит.
  • RST : аппаратное закрытие соединения, которое обычно используется для сообщения о том, что пакет поступил не на тот порт или IP.
  • URG : этот флаг указывает, что данные являются срочными.
  • PSH : протолкнуть данные за буфер в приложение.
  • Window Size : на некоторых диаграммах это просто описывается как поле окна . Его роль заключается в сообщении размера окна, которое стек TCP должен выполнять для буферизации пакетов. Именно так TCP управляет потоком. С точки зрения хакера, одного этого поля может быть достаточно для идентификации ОС, отправившей пакет.
Ряд 5
  • Checksum : в этом поле используется простой алгоритм проверки на наличие ошибок. По сути, это проверка целостности.
  • Urgent Pointer: в этом поле указывается последний байт порядкового номера срочных данных. Чтобы активировать это поле должен быть установлен флаг URG
Ряд 6
  • Options: Как и заголовок IP, заголовок TCP имеет поле параметров, которое можно использовать при необходимости, и его длина варьируется.
  • Padding: заполнение необходимо, чтобы заголовок TCP был кратным 32 битам.
 

TeleCon

Новичок

TeleCon

Новичок
Регистрация
14 Янв 2020
Сообщения
1
Реакции
1
Репутация
0
Подборки статей огонь !
(y)(y)(y)
 

Jaguar

Участник
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Jaguar

Участник
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
1 Май 2019
Сообщения
9
Реакции
3
Репутация
0
Род занятий

Обнал

А в чем суть класса адресов А B C? Зачем нужна эта разбиавка на классы?
 
Сверху