Статья: DoS умножение.

Автор: Рваный Нерв

Спецвыпуск Xakep, номер #021, стр. 021-048-3


Ну, теперь переводи IP адрес 192.168.0.91 в двоичную.

192DEC=1100 0000BIN

168DEC=1010 1000BIN

0DEC=0000 0000BIN

91DEC=0101 1011BIN

Адрес 192.168.0.91 в двоичном виде будет:

1100 0000.1010 1000.0000 0000. 0101 1011.

Как послать запрос всем компьютерам сети?

Если ты сидишь в локальной сети, то всем тачкам из твоей локалки дойдет сообщение с адресом 1111 1111.1111 1111.1111 1111.1111 1111, то есть все единицы, или в десятичном виде 255.255.255.255.

Если ты хочешь пингануть все компы какой-то внешней сети, то нужно к сетевому адресу добавить единицы. Например 192.168.255.255 пропингует компы в сети 192.168.

Как узнать адрес сети по IP?

Есть три основных типа сети A, B и С. Определить их просто, если перевести первый байт IP адреса в двоичный вид. Если адрес начинается на 0 – это А, если на 1 – B, и если на 11 – C.

Широковещательные адреса, по которым можно обратиться ко всем компьютерам сети, будут такими:

Для сети A: XXX.255.255.255

Для сети B: XXX.XXX.255.255

Для сети С: XXX.XXX.XXX.255

ХХХ – это адрес сети, который может быть любым числом от 1 до 254, с некоторыми исключениями. То есть, ты сначала определяешь тип сети по первому байту, а потом, в зависимости от класса сети, заменяешь хвост адреса на двоичные единицы (255 в десятичной системе).

Как узнать адрес подсети по IP?

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

Сети разбиваются на подсети с помощью маски, и ты можешь отправить ICMP запрос на получение маски подсети по IP адресу. Маска подсети поможет тебе вычислить широковещательный адрес для данной подсети.

Допустим

адрес: 192.168.0.70

маска подсети: 255.255.255.192

Переводим в двоичный вид:

____________Адрес: 1100 0000.1010 1000.0100 0110

____________Маска: 1111 1111.1111 1111.1100 0000

_____________Сеть: 1100 0000.1010 1000.0100 0000

Широковещательный: 1100 0000.1010 1000.0111 1111

Часть IP адреса, помеченная единичками в маске подсети, и есть адрес подсети. А там, где у маски стоят нули, у IP стоит адрес хоста или интерфейса в этой подсети. Чтобы обратиться ко всем адресам этой подсети (широковещательно), нужно к адресу подсети добавить хвост из единичек. То есть все единички на месте адреса хоста означают все адреса. Видишь, я под адресом подписал маску. Там где под адресом в маске стоят единицы, ты оставляешь адрес, а там где стоят нули, записываешь единицы. Так получается широковещательный адрес.

Назад на стр. 021-048-2  Содержание  Вперед на стр. 021-048-4