- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
<?php
$domains = [
'edge-star-shv-%s-%s.facebook.com', /* edge-chat.facebook.com, graph.facebook.com, mbasic.facebook.com, touch.facebook.com */
'instagram-p42-shv-%s-%s.fbcdn.net', /* www.instagram.com, b.i.instagram.com */
'edge-sonar-mini-shv-%s-%s.fbcdn.net', /* не знаю, для чего нужны edge-sonar-mini */
'edge-star-mini-shv-%s-%s.facebook.com', /* www.facebook.com, m.facebook.com, fb.com */
'instagram-p3-shv-%s-%s.fbcdn.net', /* api.instagram.com, i.instagram.com, l.instagram.com, graph.instagram.com, edge-chat.instagram.com, */
/* static.cdninstagram.com, scontent-hel3-1.cdninstagram.com, scontent.cdninstagram.com, */
/* threads.net, www.threads.net */
'xx-fbcdn-shv-%s-%s.fbcdn.net', /* scontent-hel3-1.xx.fbcdn.net, static.xx.fbcdn.net, connect.facebook.net, scontent.xx.fbcdn.net */
'edge-dgw-shv-%s-%s.facebook.com' /* gateway.facebook.com, gateway.instagram.com, gateway.threads.net */
];
$suffices = explode(',', 'akl1,ams2,ams4,arn2,atl3,bcn1,bkk1,bog1,bog2,bom1,bom2,bos5,bru2,ccu1,cdg4,cgk1,cph2,cpt1,del1,del2,den2,den4,dfw5,dub4,dus1,eze1,fco2,for1,fra3,fra5,gig4,gru1,gru2,ham3,hel3,hkg1,hkg4,hou1,hyd1,iad3,jnb1,jnb2,kul2,kul3,lax3,lga3,lhr6,lhr8,lim1,lis1,los2,maa2,mad1,mad2,man2,mct1,mia3,mnl1,mrs2,msp1,muc2,mxp1,mxp2,nrt1,ord5,otp1,pmo1,pnq1,prg1,qro1,scl2,sea1,sin6,sjc3,sof1,syd2,tpe1,vie1,waw1,xsp1,zrh1');
foreach ($domains as $domain) {
foreach (['01','02','03','04'] as $index) {
foreach ($suffices as $suffix) {
$url = sprintf($domain, $index, $suffix);
$raw = gethostbynamel($url);
if(!is_array($raw)) continue;
$ips = implode(',', $raw);
echo $ips,' ', $url, PHP_EOL;
}
}
}
Получение списка IP-адресов, используемых сервисами Ф*к, И*м и Threads.
Myxa 13.01.2024 21:18 # 0
Удалось выжать по 120 IP-адресов для каждого сервера. Из них РКН заблокировал ничтожную часть:
edge-star-shv: 157.240.205.1
instagram-p42-shv: 31.13.72.174, 157.240.205.174, 157.240.236.174, 157.240.195.174.
edge-star-mini-shv: 157.240.205.35
instagram-p3-shv: 157.240.205.63
xx-fbcdn-shv: 163.70.148.22, 157.240.205.11.
edge-dgw-shv: 31.13.82.8, 157.240.31.10.
То есть заблокировано всего 1-4 адреса из 120 для каждого сервера.
Как РКН выбирает адреса для блокировки?
Myxa 13.01.2024 21:20 # 0
Часть взял отсюда: https://www.cloudping.cloud/cloudfront-edge-locations.json
Остальные — пришлось применить чёрную магию.
Myxa 13.01.2024 21:27 # 0
https://www.feitsui.com/en/article/3
Myxa 13.01.2024 21:32 # 0
guest6 14.01.2024 00:12 # 0
guest6 15.01.2024 00:15 # 0
Интересна более тонкая задача: вытащить все айпишники, принадлежащие определённому сервису, и понять, какой для чего. В опубликованном говнокоде я начал вытаскивать айпишники для определённых сервисов Ф-ка и И-ма (для глагне, для конь-тента, для АПИ, для уёб-носков). Подозреваю, что айпишников больше, чем 120 на сервис (сначала я разведал около 20, потом 32, потом 64, теперь вот 120).
guest6 15.01.2024 00:40 # 0
1. Нарушает приватность, сливая твой айпишник по цепочке.
2. Нарушает целостность интернетов, возвращая разным клиентам разные ответы.
Итак,
www . instagram . com IN CNAME geo-p42.instagram.com
geo-p42.instagram.com CNAME z-p42-instagram.c10r.instagram.com
А вот z-p42-instagram.c10r.instagram.com возвращает ответ в зависимости от региона. Опросил его через разные публичные резолверы без EDNS, чтобы они выдали ответ в зависимости от своего нахождения, а не моего. У собранных айпишников посмотрел обратную зону (PTR) и нашёл все эти instagram-p3-shv-*. Добавил к ним суффиксов из cloudfront-edge-locations.json и нашёл ещё кучу айпишников.
guest6 15.01.2024 00:45 # 0
guest6 15.01.2024 18:40 # 0
guest6 15.01.2024 18:39 # 0
обожемой, надо почитать rfc6891, я и не знал про такое. Как много воды утекло со времен чтения книжки с крабом (или с кузнечиком)
>2. Нарушает целостность интернетов, возвращая разным клиентам разные ответы.
Такая хуйня работала миллиарды лет уже. Чаще всего DNS сервер у питуха свой: или у его провайдера, или у его роутера, и потому чаще всего ты можешь вернуть адрес ближайший к петуху. Это сломалось с массовым завозом 1.1.1.1 и 8.8.8.8. Теперь помочь питуху может только anycast (когда один и тот же IP доступен из разных AS) но такое вроде можно делать олько для корневых DNS, остальным нельзя
guest6 15.01.2024 22:48 # 0
Через эту питушню некоторые CDN работают, выбирая ближайшее к тебе зеркало ещё на этапе запроса к DNS, т. е. ещё задолго до HTTP-запроса.
Вот вроде оно:
https://datatracker.ietf.org/doc/html/rfc7871
guest6 15.01.2024 22:54 # 0
guest6 15.01.2024 22:56 # 0
guest6 15.01.2024 23:00 # 0
guest6 15.01.2024 23:12 # 0
https://quad9.net/service/service-addresses-and-features#ecssec
https://quad9.net/support/faq/#edns
Надо наговнокодить клиента с ECS, чтобы понять, можно ли надурить резолверы, скормив им айпишник другой географической зоны.
KPblCA 14.01.2024 19:46 # 0
guest6 14.01.2024 22:47 # 0
https://ip-ranges.amazonaws.com/ip-ranges.json
KPblCA 13.01.2024 21:44 # 0
iwasko 28.02.2024 00:37 # 0
guest6 19.02.2024 20:57 # 0
guest6 19.02.2024 21:03 # 0