Make. Build. Break. Reflect.
913 subscribers
116 photos
1 video
121 links
Полезные советы, всратые истории, странные шутки и заметки на полях от @kruchkov_alexandr
Download Telegram
#TIL

Бестолково листая бесконечные телеграм каналы, на которые подписан, наткнулся на репост репоста репоста любопытной заметки.

Стало интересно, пришлось копнуть дальше.
Думаю все это знали, но я, как обычно, к своему стыду не знал🤡.

Есть такая функция inet_aton(). https://linux.die.net/man/3/inet_aton
Функция обработки адреса интерпретирует входные данные не только как четыре октета, но и как 1, 2, или 3 числа. Если указано меньше четырёх чисел, недостающие биты адреса "добираются" из последнего указанного числа, а не просто заполняются нулями (хотя в некоторых случаях это выглядит так, как будто они заполнились нулями).

И эта функция используется утилитой ping.
Что это значит?
- можно пинговать localhost вот так
ping 127.1
PING 127.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.028 ms

- или даже пинговать DNS от CloudFlare https://www.whois.com/whois/1.0.0.1
>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=58 time=5.85 ms

- ну или вообще вот так
ping 0
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.030 ms


Так же и у curl (на самом деле там собственный host парсер).
curl -i https://1.1
HTTP/2 301
date:
content-length: 0
location: https://one.one.one.one/
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=TXp9lzhnM4jO3U47uy7caHHtaOGB5P%2FiVVgdhCuuaxklboKrkVlRH0at%2BwLL5kall9an%2FdkawG%2FoU7aRBxAABe2Ux52GTldnNm%2F%2F9EpxGNvKdtyJi5BQPcE%3D"}],"group":"cf-nel","max_age":604800}
nel: {"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray:

и
curl -i http://0
HTTP/1.1 308 Permanent Redirect
Connection: close
Location: https://0.0.0.0/
Server: Caddy
Date:
Content-Length: 0

# и даже с портом

curl -i http://0:8081
HTTP/1.1 302 Found
Cache-Control: no-store
Content-Type: text/html; charset=utf-8
Location: /login
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-Xss-Protection: 1; mode=block
Date:
Content-Length: 29

<a href="/login">Found</a>.


Зачем это надо?
А чёрт его знает.
Прикольно, не более.
Думаю это лишь историческая особенность, а не функциональность, предназначенная для практического применения.

Кому это надо?
Ну вдруг кто-то спешит и нет времени печатать полностью адрес 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
😁143👍2👏1