เชจเซ‡เชŸเชตเชฐเซเช•เชฎเชพเช‚ เชจเชœเซ€เช•เชจเชพ เชจเซ‹เชกเซเชธ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชจเซ‡เชŸเชตเชฐเซเช•เชฎเชพเช‚ เชจเชœเซ€เช•เชจเชพ เชจเซ‹เชกเซเชธ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชจเซ‡เชŸเชตเชฐเซเช• เชฒเซ‡เชŸเชจเซเชธเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เช…เชฅเชตเชพ เชธเซ‡เชตเชพเช“เชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจ เชชเชฐ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡. เชฒเซ‡เชŸเชจเซเชธเซ€ เชœเซ‡เชŸเชฒเซ€ เช“เช›เซ€ เช›เซ‡, เชคเซ‡เชŸเชฒเซ€ เชŠเช‚เชšเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€. เชจเชฟเชฏเชฎเชฟเชค เชตเซ‡เชฌเชธเชพเช‡เชŸเชฅเซ€ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เชฅเชตเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชงเซ€เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เช† เชธเชพเชšเซเช‚ เช›เซ‡.

เชเช• เชธเชพเชฐเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชกเซ‹เชฎเซ‡เชจ เชจเซ‡เชฎ เชธเชฟเชธเซเชŸเชฎ (DNS) เช›เซ‡. DNS เชธเซเชตเชญเชพเชตเซ‡ เชตเชฟเชคเชฐเชฟเชค เชธเชฟเชธเซเชŸเชฎ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชฐเซเชŸ เชจเซ‹เชกเซเชธ เชธเชฎเช—เซเชฐ เช—เซเชฐเชนเชฎเชพเช‚ เชซเซ‡เชฒเชพเชฏเซ‡เชฒเชพ เช›เซ‡. เช•เซ‹เชˆเชชเชฃ เชตเซ‡เชฌเชธเชพเชˆเชŸเชจเซ‡ เชซเช•เซเชค เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชชเชนเซ‡เชฒเชพ เชคเซ‡เชจเซเช‚ เช†เชˆเชชเซ€ เชเชกเซเชฐเซ‡เชธ เชฎเซ‡เชณเชตเชตเซเช‚ เชชเชกเชถเซ‡.

เชนเซเช‚ เชกเซ‹เชฎเซ‡เชจ เชเซ‹เชจเชจเชพ "เชŸเซเชฐเซ€"เชฎเชพเช‚เชฅเซ€ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฐเซ€เชคเซ‡ เชชเชธเชพเชฐ เชฅเชตเชพเชจเซ€ เชธเชฎเช—เซเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เชถ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เช เชนเช•เซ€เช•เชค เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€เชถ เช•เซ‡ เชกเซ‹เชฎเซ‡เชจเชจเซ‡ IP เชเชกเซเชฐเซ‡เชธเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชจเซ‡ DNS เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เช† เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเชถเซ‡. เช…เชฎเชจเซ‡

เชคเซ‹, เชคเชฎเซ‡ DNS เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เชธเชฐเชจเชพเชฎเซเช‚ เช•เซเชฏเชพเช‚เชฅเซ€ เชฎเซ‡เชณเชตเชถเซ‹?

  1. ISP เชคเซ‡เชจเชพ DNS เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.
  2. เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชชเชฌเซเชฒเชฟเช• เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเซเช‚ เชธเชฐเชจเชพเชฎเซเช‚ เชถเซ‹เชงเซ‹.
  3. เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เชนเซ‹เชฎ เชฐเชพเช‰เชŸเชฐเชฎเชพเช‚ เชฌเชจเซ‡เชฒเชพ เชเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹.

เช†เชฎเชพเช‚เชจเชพ เช•เซ‹เชˆเชชเชฃ เชตเชฟเช•เชฒเซเชชเซ‹ เชคเชฎเชจเซ‡ เชตเชฐเซเชฒเซเชก เชตเชพเชˆเชก เชตเซ‡เชฌ เชชเชฐ เชจเชšเชฟเช‚เชค เชธเชฐเซเชซเชฟเช‚เช—เชจเซ‹ เช†เชจเช‚เชฆ เชฎเชพเชฃเชตเชพ เชฆเซ‡เชถเซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชกเซ‹เชฎเซ‡เชจเซเชธเชจเซ‡ เช†เชˆเชชเซ€เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชฐเชฟเชเซ‹เชฒเซเชตเชฐเชจเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเซ‹ เชตเชงเซ เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชธเช‚เชชเชฐเซเช• เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช.

เชœเซ‡เชฎ เชฎเซ‡เช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฒเช–เซเชฏเซเช‚ เช›เซ‡, ISP เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เช‰เชชเชฐเชพเช‚เชค, เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชœเชพเชนเซ‡เชฐ เชธเชฐเชจเชพเชฎเชพเช‚ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เช† เชธเซ‚เชšเชฟ เชคเชชเชพเชธเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซ‡เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชตเชงเซ เชชเซเชฐเชพเชงเชพเชจเซเชฏเช•เซเชทเชฎ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชพเชฐเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชจเซ‡เช•เซเชŸเชฟเชตเชฟเชŸเซ€ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชธเซ‚เชšเชฟ เชจเชพเชจเซ€ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชธเชฐเชณเชคเชพเชฅเซ€ "เชชเชฟเช‚เช—" เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชตเชฟเชฒเช‚เชฌเชจเชพ เชธเชฎเชฏเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เชธเซ‚เชšเชฟ เชชเชฃ เชฒเซ‹ เช›เซ‹, เชคเซ‹ เช† เช•เชพเชฐเซเชฏ เช…เชชเซเชฐเชฟเชฏ เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡.

เชคเซ‡เชฅเซ€, เช† เช•เชพเชฐเซเชฏเชจเซ‡ เชตเชงเซ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚, เชˆเชฎเซเชชเซ‹เชธเซเชŸเชฐ เชธเชฟเชจเซเชกเซเชฐเซ‹เชฎเชฅเซ€ เชญเชฐเชชเซ‚เชฐ, เช—เซ‹ เช•เซ‰เชฒ เชชเชฐ เชฎเชพเชฐเชพ เชตเชฟเชšเชพเชฐเชจเชพ เชชเซเชฐเชพเชตเชพ-เช“เชซ-เช•เชจเซเชธเซ‡เชชเซเชŸเชจเซเช‚ เชธเซเช•เซ‡เชš เช•เชฐเซเชฏเซเช‚. เชจเชœเซ€เช• เช†เชตเชตเซเช‚.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชนเซเช‚ เชฐเชฟเชเซ‹เชฒเซเชตเชฐเซเชธเชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‚เชšเชฟ เชคเชชเชพเชธเซ€เชถ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชซเช•เซเชค เชธเซŒเชฅเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฒเซ‹เช•เซ‹ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€เชถ.

$ 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) เชคเชชเชพเชธเชตเชพ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€ เชนเชคเซ€ - เช›เซ‡เชตเชŸเซ‡, เชคเซ‡ เช–เซ‚เชฌ เชธเซเช‚เชฆเชฐ เช›เซ‡, เช…เชจเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡เชฅเซ€ เชถเซเช‚ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เซ€ เชถเช•เซ‹? เชจเซ€เชš เชฌเซ‡เช•เช…เชช เชธเชฐเชจเชพเชฎเชพเช‚.

เชชเชฐเช‚เชคเซ เชตเชฟเชฒเช‚เชฌเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเชตเชพเชจเซ€ เชเช• เชธเซเชตเชฏเช‚เชธเช‚เชšเชพเชฒเชฟเชค เชฐเซ€เชค เชนเซ‹เชตเชพเชฅเซ€, เชธเซ‚เชšเชฟเชจเซ‡ เช•เซ‡เชฎ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚...

เชŸเซ‡เชธเซเชŸ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เชคเซ‡เชฎ, "เชฌเซ‡เช•เช…เชช" เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชธเชฐเชจเชพเชฎเซเช‚ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ spb-ix เชฎเชพเช‚ เชชเซเชฒเช— เชฅเชฏเซ‡เชฒ เช›เซ‡, เชœเซ‡ msk-ix เช•เชฐเชคเชพเช‚ เชฎเชพเชฐเซ€ เชตเชงเซ เชจเชœเซ€เช• เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชธเซเช‚เชฆเชฐ 1.1.1.1 เชชเซเชฒเช— เช›เซ‡.

เชคเชซเชพเชตเชค, เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชคเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชชเซเชฐเช•เชพเชถเชจเซเช‚ เชธเซŒเชฅเซ€ เชเชกเชชเซ€ เช•เชฟเชฐเชฃ เชชเชฃ 10 ms เช•เชฐเชคเชพเช‚ เช“เช›เชพ เชธเชฎเชฏเชฎเชพเช‚ เชธเซ‡เชจเซเชŸ เชชเซ€เชŸเชฐเซเชธเชฌเชฐเซเช—เชฅเซ€ เชฎเซ‹เชธเซเช•เซ‹ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€.

เชธเชฐเชณ เชชเชฟเช‚เช— เช‰เชชเชฐเชพเช‚เชค, PoC เชชเชพเชธเซ‡ http เช…เชจเซ‡ tcp เชœเซ‡เชตเชพ เช…เชจเซเชฏ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเซเชธ เชฎเชพเชŸเซ‡เชจเชพ เชตเชฟเชฒเช‚เชฌเชจเซ€ เชธเชพเชฅเซ‡ เชธเชพเชฅเซ‡ เชšเซ‹เช•เซเช•เชธ เชฐเชฟเชเซ‹เชฒเซเชตเชฐ เชฆเซเชตเชพเชฐเชพ เชกเซ‹เชฎเซ‡เชจเซเชธเชจเซ‡ IPเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเชพ เชธเชฎเชฏเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเชตเชพเชจเซ€ เชคเช• เชชเชฃ เช›เซ‡.

เชŸเซเชฐเซ‡เชธเชฐเชพเช‰เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฏเชœเชฎเชพเชจเซ‹ เชตเชšเซเชšเซ‡เชจเชพ เช—เชพเช‚เช เซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เช›เซ‡ เชœเซ‡เชฅเซ€ เชคเซ‡เช“เชจเซ‡ เชŸเซ‚เช‚เช•เชพ เชฎเชพเชฐเซเช— เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชฏเชœเชฎเชพเชจเซ‹ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเซ‡.

เช•เซ‹เชก เช•เซเชฐเซ‚เชก เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชฌเชงเชพ เชšเซ‡เช•เชจเซ‹ เช…เชญเชพเชต เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชธเซเชตเชšเซเช› เชกเซ‡เชŸเชพ เชชเชฐ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชนเซเช‚ เช•เซ‹เชˆเชชเชฃ เชชเซเชฐเชคเชฟเชธเชพเชฆเชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเซ€เชถ, เชคเชพเชฐเชพเช“ เชชเชฐ เช—เซ€เชฅเชฌ, เช…เชจเซ‡ เชœเซ‹ เช•เซ‹เชˆเชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เชตเชฟเชšเชพเชฐ เช—เชฎเซเชฏเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เชฏเซ‹เช—เชฆเชพเชจ เช†เชชเชจเชพเชฐ เชฌเชจเชตเชพ เชฎเชพเชŸเซ‡ เช†เชชเชจเซเช‚ เชธเซเชตเชพเช—เชค เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹