LINUX.ORG.RU

Ответ на: комментарий от Irma

гугель с каждым годом всё хуже и хуже ищет. кавычки перестал распознавать и всё такое. вобщем толком ничего не находит. находит «в чём разница между 127.0.0.1 и 0.0.0.0». ничего не понятно

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от apex

просто блочу рекламу, решил спросить на всякий случай для подстраховки...
а срока

0.0.0.0 0.0.0.0
что в данном случае значит?
накачал списков с блокировками, знаю просто, что некоторые комбинации могут открыть дверь злоумышленнику

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от teod0r

Если сделать «ip ro get» для 0.0.0.0 и для 127.0.0.1, то разницы нет.

Если рассматривать персональный компутер, то я бы добавил маршрут для хоста с типом unreachable или prohibit и указал в hosts этот адрес.

Думаю, что строка с 0.0.0.0 пришла из оффтопиков.

vel ★★★★★
()
Ответ на: комментарий от teod0r

строка 0.0.0.0 0.0.0.0 не имеет смысла?

Я не вижу, но это в равной мере относится ко всем A. B.C.D A.B.C.D

на каком?

На более высоком. Встроенную в веб-страницы — адблоком, встроенным в браузер; в видео на YouTube — спонсорблоком, встроенным в клиент ютуба и т.д.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от teod0r

Быстрее ибо это значит «недоступно» и отбрасывается просто. Если заменить на localhost то будет обращение к localhost. А если ip нули то просто «хрень к которой идёт обращение недоступна, я даже не проверял, но зуб даю что это так» отвечает нам софт

Вроде я ничего не путаю

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от t184256

IMHO использование 0.0.0.0 0.0.0.0 в hosts - это либо ооочень старый метод времён ядер до 2.6, либо это бездумно принесено оз оффтопиков.

Наш ip-стек достаточно интересный.

0.0.0.0/32 он же INADDR_ANY который расценивается как локальный широковещательный адрес и ближаший вариант это 127.0.0.1.

Выполни «ip ro get 0.0.0.0» и «ip ro get 127.0.0.1»

Дальше посмотри на «ip ro ls table all»

Нашел машрут к 0.0.0.0/32? А он есть. Он прибит гвоздями.

Если глянуть исходники ядра linux-5.15/net/ipv4/route.c в районе строки 2750

        if (!fl4->daddr) {
                fl4->daddr = fl4->saddr;
                if (!fl4->daddr)
                        fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
                dev_out = net->loopback_dev;
                fl4->flowi4_oif = LOOPBACK_IFINDEX;
                res->type = RTN_LOCAL;
                flags |= RTCF_LOCAL;
                goto make_route;
        }

А локально рекламу резать можно только на L7

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

0.0.0.0/32 он же INADDR_ANY который расценивается как локальный широковещательный адрес

Это при bind на него он имеет смысл INADDR_ANY.

Нашел машрут к 0.0.0.0/32? А он есть. Он прибит гвоздями.

Пипец, самодеятельность какая-то поперек стандартов. Фу.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

С разморозкой! :)

rfc 1122 это 1989 год, классы адресов и маршрутизация на основе классов адресов. В 1993-1994 году её занесли в мавзолей и до сих пор ей пугают студентов.

Наверно сейчас нужно глянуть rfc 5735 p.3 Global and Other Specialized Address Blocks.

rfc это всего лишь свод правил, который в некоторых случаях можно трактовать по-разному :)

Если мы делая bind() на INADDR_ANY можем использовать любой адрес на хосте, то почему бы не сделать тоже самое и с адресом назначения?

vel ★★★★★
()

Чтобы 2 раза не вставать: а где описано, как разворачивается, например, 1.1 в 1.0.0.1?

rain@walkbook:~$ ping 1.1
PING 1.1 (1.0.0.1) 56(84) bytes of data.
64 bytes from 1.0.0.1: icmp_seq=1 ttl=57 time=37.4 ms
64 bytes from 1.0.0.1: icmp_seq=2 ttl=57 time=41.8 ms
^C
--- 1.1 ping statistics ---
3 packets transmitted, 2 received, 33.3333% packet loss, time 2001ms
rtt min/avg/max/mdev = 37.430/39.616/41.803/2.186 ms



Т.е., в целом логика ясна (1.1.1 -> 1.1.0.1, например), но интересно.

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 1)
Ответ на: комментарий от futurama

Ну, в данном случае обычный dec->bin. Это сам ping преобразует? Или где-то на более низком уровне?

По моему вопросу - напоминает сворачивание адреса с IPv6, но только для IPv4, а мне такое не попадалось просто раньше.

YAR ★★★★★
()
Ответ на: комментарий от YAR

Какой-то у вас пример не интерестный, допустим, ″ping 1.012345″ .

Преобразует функция inet_aton, только в man'ах не написано, почему она так делает.

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)