เบเบฒเบ™เป€เบฅเบทเบญเบ nodes เบ—เบตเปˆเปƒเบเป‰เบ—เบตเปˆเบชเบธเบ”เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบเบฒเบ™เป€เบฅเบทเบญเบ nodes เบ—เบตเปˆเปƒเบเป‰เบ—เบตเปˆเบชเบธเบ”เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบ„เบงเบฒเบกเบ•เบญเบšเบชเบฐเปœเบญเบ‡เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ เบซเบผเบทเบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™ latency เบ•เปˆเปเบฒ, เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบ‚เบถเป‰เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ›เบปเบเบเบฐเบ•เบดเป„เบ›เบซเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบผเบทเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ”เบตเปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบŠเบทเปˆเป‚เบ”เป€เบกเบ™ (DNS). DNS เปเบกเปˆเบ™เป‚เบ”เบเบ—เปเบฒเบกเบฐเบŠเบฒเบ”เบฅเบฐเบšเบปเบšเปเบˆเบเบขเบฒเบ, เบกเบตเบฎเบฒเบเบฎเบฒเบเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเป„เบ›เบ—เบปเปˆเบงเบ”เบฒเบง. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ” เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบกเบฑเบ™.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ recursively เบœเปˆเบฒเบ™ "เบ•เบปเป‰เบ™เป„เบกเป‰" เบ‚เบญเบ‡เป€เบ‚เบ”เป‚เบ”เป€เบกเบ™, เปเบ•เปˆเบˆเบฐเบˆเปเบฒเบเบฑเบ”เบ•เบปเบงเป€เบญเบ‡เบเบฑเบšเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เป‚เบ”เป€เบกเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆ IP, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบปเบงเปเบเป‰เป„เบ‚ DNS เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰. เบžเบงเบโ€‹เป€เบฎเบปเบฒ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆเบ•เบปเบงเปเบเป‰เป„เบ‚ DNS เบขเบนเปˆเปƒเบช?

  1. ISP เปƒเบซเป‰เบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบ•เบปเบงเปเบเป‰เป„เบ‚ DNS เบ‚เบญเบ‡เบกเบฑเบ™.
  2. เบŠเบญเบเบซเบฒเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบœเบนเป‰เปเบเป‰เป„เบ‚เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”.
  3. เป€เบญเบปเบฒเป€เบ„เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡ เบซเบผเบทเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบฃเบปเบฒเป€เบ•เบตเป€เบฎเบทเบญเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ”เป†เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเบ”เป€เบžเบตเบ™เบเบฑเบšเบเบฒเบ™เบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ—เบตเปˆเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เปƒเบ™ World Wide Web, เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป‚เบ”เป€เบกเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเป€เบ›เบฑเบ™ IP, เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบ‚เบปเป‰เบฒเบซเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบœเบนเป‰เปเบเป‰เป„เบ‚เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เบฝเบ™เปเบฅเป‰เบง, เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ•เบปเบงเปเบเป‰เป„เบ‚ ISP, เบกเบตเบซเบผเบฒเบเบ—เบตเปˆเบขเบนเปˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ™เบตเป‰. เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบญเบฒเบ”เบˆเบฐเบกเบฑเบเบซเบผเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบ•เบปเบงเปเบเป‰เป„เบ‚เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เป€เบกเบทเปˆเบญเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” "ping" เบกเบฑเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบ›เบฝเบšเบ—เบฝเบšเป€เบงเบฅเบฒเบŠเบฑเบเบŠเป‰เบฒ, เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบญเบปเบฒเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบžเปเปƒเบˆ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ, เป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเป‚เบฃเบ impostor, เป„เบ”เป‰เปเบ•เป‰เบกเบซเบผเบฑเบเบ–เบฒเบ™เบชเบฐเปเบ”เบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบš Go เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ. เปƒเบเป‰เบŠเบดเบ”.

เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ‚เป‰เบญเบเบˆเบฐเบšเปเปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบเป‰เป„เบ‚, เปเบ•เปˆเบˆเบฐเบˆเปเบฒเบเบฑเบ”เบ•เบปเบงเป€เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆเบ„เบปเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”.

$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Closest hosts:
	1.0.0.1 [3.4582ms]
	8.8.8.8 [6.7545ms]
	1.1.1.1 [12.6773ms]
	8.8.4.4 [16.6361ms]
	9.9.9.9 [40.0525ms]

เปƒเบ™เป€เบงเบฅเบฒเบซเบ™เบถเปˆเบ‡, เป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเป€เบฅเบทเบญเบเบ•เบปเบงเปเบเป‰เป„เบ‚เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเป€เบญเบ‡, เบ‚เป‰เบญเบเบˆเปเบฒเบเบฑเบ”เบ•เบปเบงเป€เบญเบ‡เบžเบฝเบ‡เปเบ•เปˆเบเบงเบ”เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเบ•เบปเป‰เบ™เบ•เป (1.1.1.1, 8.8.8.8, 9.9.9.9) - เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบžเบงเบเบกเบฑเบ™เบ‡เบฒเบกเบซเบผเบฒเบ, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบ„เบฒเบ”เบซเบงเบฑเบ‡เบซเบเบฑเบ‡เป„เบ”เป‰เบˆเบฒเบ เบ—เบตเปˆเบขเบนเปˆเบชเปเบฒเบฎเบญเบ‡เบ—เบตเปˆเบ‚เบตเป‰เบฎเป‰เบฒเบ.

เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบตเบงเบดเบ—เบตเบเบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒ, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบถเปˆเบ‡เบšเปเปˆเบ‚เบฐเบซเบเบฒเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ ...

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™, เบ—เบตเปˆเบขเบนเปˆ Cloudflare "เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™" เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบชเบฝเบšเปƒเบชเปˆ spb-ix, เป€เบŠเบดเปˆเบ‡เปƒเบเป‰เบŠเบดเบ”เบเบฑเบšเบ‚เป‰เบญเบเบซเบผเบฒเบเบเบงเปˆเบฒ msk-ix, เป€เบŠเบดเปˆเบ‡เบกเบต 1.1.1.1 เบ—เบตเปˆเบชเบงเบเบ‡เบฒเบกเปƒเบชเปˆเบกเบฑเบ™.

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเป€เบซเบฑเบ™, เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบก เบชเบณ เบ„เบฑเบ™เบซเบผเบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเปเบกเป‰เปเบ•เปˆเบฅเบฑเบ‡เบชเบตเบ—เบตเปˆเป„เบงเบ—เบตเปˆเบชเบธเบ”เบเปเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเบˆเบฒเบเป€เบŠเบ™เบ›เบตเป€เบ•เบตเบชเบฐเป€เบšเบตเบเป„เบ›เบกเบญเบ”เป‚เบเปƒเบ™เป€เบงเบฅเบฒเบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 10 ms.

เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ ping เบ‡เปˆเบฒเบเบ”เบฒเบ, PoC เบเบฑเบ‡เบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบชเปเบฒเบฅเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™: http เปเบฅเบฐ tcp, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบงเบฅเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เป‚เบ”เป€เบกเบ™เป€เบ›เบฑเบ™ IP เบœเปˆเบฒเบ™เบ•เบปเบงเปเบเป‰เป„เบ‚เบชเบฐเป€เบžเบฒเบฐ.

เบกเบตเปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบˆเปเบฒเบ™เบงเบ™ nodes เบฅเบฐเบซเบงเปˆเบฒเบ‡ hosts เป‚เบ”เบเปƒเบŠเป‰ traceroute เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบŠเบญเบเบซเบฒ hosts เบ—เบตเปˆเบกเบตเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบชเบฑเป‰เบ™เบเบงเปˆเบฒเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ.

เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบ‚เบตเป‰เบ•เบปเบงเบฐ, เบกเบฑเบ™เบ‚เบฒเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบซเบผเบฒเบ, เปเบ•เปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเปƒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบฐเบญเบฒเบ”. เบ‚เป‰เบญเบเบˆเบฐเบ‚เบญเบšเปƒเบˆเบ„เปเบฒเบ•เบดเบŠเบปเบกเปƒเบ”เป†, เบ•เบดเบ”เบ”เบฒเบงเปƒเบชเปˆ github, เปเบฅเบฐเบ–เป‰เบฒเปƒเบœเบกเบฑเบเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบšเบเบฒเบเป€เบ›เบฑเบ™เบœเบนเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™