Статья: 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
|