ื ื“ืขืจืฆื™ื™ืœื•ื ื’ ื•ื•ืขื’ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ Google ืงืœืึธื•ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ

ืคึฟื•ืŸ Google ื‘ืœืึธื’ ืขื“ื™ื˜ืึธืจ: ื”ืึธื‘ืŸ ืื™ืจ ืืœืฅ ื’ืขื—ื™ื“ื•ืฉื˜ ื•ื•ื™ Google Cloud Technical Solutions (TSE) ืขื ื“ื–ืฉืึทื ื™ืจื– ืฉืขืคึผืŸ ื“ื™ื™ืŸ ืฉื˜ื™ืฆืŸ ืจื™ืงื•ื•ืขืก? TSE ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ ืขื ื“ื–ืฉืึทื ื™ืจื– ื–ืขื ืขืŸ ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืื•ืŸ ืงืขืจืขืงื˜ื™ื ื’ ื‘ืึทื ื™ืฆืขืจ-ืจืขืคึผืึธืจื˜ืขื“ ืงื•ื•ืืœืŸ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก. ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคืจืื‘ืœืขืžืขืŸ ื–ืขื ืขืŸ ื’ืึทื ืฅ ืคึผืฉื•ื˜, ืึธื‘ืขืจ ืžืืœ ืื™ืจ ื˜ืจืขืคืŸ ืึท ื‘ื™ืœืขื˜ ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ื“ื™ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืคื•ืŸ ืขื˜ืœืขื›ืข ืขื ื“ื–ืฉืึทื ื™ืจื– ืื™ืŸ ืึทืžืึธืœ. ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ TSE ืขืžืคึผืœื•ื™ื™ื– ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื•ื ื“ื– ื•ื•ืขื’ืŸ ืื™ื™ืŸ ื–ื™ื™ืขืจ ื˜ืจื™ืงื™ ืคึผืจืึธื‘ืœืขื ืคื•ืŸ ื–ื™ื™ืŸ ืœืขืฆื˜ืข ืคื™ืจ - ืคืึทืœ ืคื•ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ. ืื™ืŸ ื“ืขืจ ื’ืขืฉื™ื›ื˜ืข, ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื•ื•ื™ ื“ื™ ืขื ื“ื–ืฉืึทื ื™ืจื– ื’ืขืจืื˜ืŸ ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข, ืื•ืŸ ื•ื•ืึธืก ื ื™ื™ึท ื˜ื™ื ื’ื– ื–ื™ื™ ื’ืขืœืขืจื ื˜ ื‘ืฉืขืช ืคื™ืงืกื™ืจ ื“ืขื ื˜ืขื•ืช. ืžื™ืจ ื”ืึธืคืŸ ืึทื– ื“ื™ ื’ืขืฉื™ื›ื˜ืข ื•ื•ืขื˜ ื ื™ืฉื˜ ื‘ืœื•ื™ื– ื“ืขืจืฆื™ืขืŸ ืื™ืจ ื•ื•ืขื’ืŸ ืึท ื˜ื™ืฃ-ืกื™ื˜ืึทื“ ื–ืฉื•ืง, ืึธื‘ืขืจ ืื•ื™ืš ื’ืขื‘ืŸ ืื™ืจ ื™ื ืกื™ื™ื˜ ืื™ืŸ ื“ื™ ืคึผืจืึทืกืขืกืึทื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ืึท ืฉื˜ื™ืฆืŸ ื‘ื™ืœืขื˜ ืžื™ื˜ Google ืงืœืึธื•ื“.

ื ื“ืขืจืฆื™ื™ืœื•ื ื’ ื•ื•ืขื’ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ Google ืงืœืึธื•ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ

ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืื™ื– ื‘ื™ื™ื“ืข ืึท ื•ื•ื™ืกื ืฉืึทืคึฟื˜ ืื•ืŸ ืึท ืงื•ื ืกื˜. ืขืก ืึทืœืข ืกื˜ืึทืจืฅ ืžื™ื˜ ื‘ื•ื™ืขืŸ ืึท ื›ื™ื™ืคึผืึทื˜ืึทืกืึทืก ื•ื•ืขื’ืŸ ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื“ื™ ื ื™ื˜-ื ืึธืจืžืึทืœ ื ืึทื˜ื•ืจ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื, ื ืึธืš ื•ื•ืึธืก ืขืก ืื™ื– ื˜ืขืกื˜ืขื“ ืคึฟืึทืจ ืฉื˜ืึทืจืงื™ื™ึทื˜. ืึธื‘ืขืจ, ืื™ื™ื“ืขืจ ืžื™ืจ ืคืึธืจืžื•ืœื™ืจืŸ ืึท ื›ื™ื™ืคึผืึทื˜ืึทืกืึทืก, ืžื™ืจ ืžื•ื–ืŸ ืงืœืืจ ื“ืขืคื™ื ื™ืจืŸ ืื•ืŸ ืคึผื•ื ืงื˜ ืคืึธืจืžื•ืœื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื. ืื•ื™ื‘ ื“ื™ ืงืฉื™ื ืกืึธื•ื ื“ืก ืฆื• ื•ื•ื™ื™ื’, ื“ืขืžืึธืœื˜ ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืึทื ืึทืœื™ื™ื– ืึทืœืฅ ืงืขืจืคืึทืœื™; ื“ืึธืก ืื™ื– ื“ื™ "ืงื•ื ืกื˜" ืคื•ืŸ ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’.

ืื•ื ื˜ืขืจ Google ืงืœืึธื•ื“, ืึทื–ืึท ืคึผืจืึทืกืขืกืึทื– ื•ื•ืขืจืŸ ืขืงืกืคึผืึธื•ื ืขื ืฉืึทืœื™ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜, ื•ื•ื™ื™ึทืœ Google ืงืœืึธื•ื“ ืคืจื•ื•ื•ื˜ ื–ื™ื™ืŸ ื‘ืขืกื˜ืขืจ ืฆื• ื’ืึทืจืึทื ื˜ื™ืจืŸ ื“ื™ ืคึผืจื™ื•ื•ืึทื˜ืงื™ื™ื˜ ืคื•ืŸ ื–ื™ื™ืŸ ื™ื•ื–ืขืจื–. ื•ื•ื™ื™ึทืœ ืคื•ืŸ ื“ืขื, TSE ืขื ื“ื–ืฉืึทื ื™ืจื– ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืึทืงืกืขืก ืฆื• ืจืขื“ืึทื’ื™ืจืŸ ื“ื™ื™ืŸ ืกื™ืกื˜ืขืžืขืŸ, ืื•ืŸ ื ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื–ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ื•ื•ื™ ื‘ืจื™ื™ื˜ ื•ื•ื™ ื™ื•ื–ืขืจื– ื˜ืึธืŸ. ื“ืขืจื™ื‘ืขืจ, ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืงื™ื™ืŸ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื›ื™ื™ืคึผืึทื˜ืึทืกืึทื–, ืžื™ืจ (ืขื ื“ื–ืฉืึทื ื™ืจื–) ืงืขื ืขืŸ ื ื™ืฉื˜ ื’ืขืฉื•ื•ื™ื ื“ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื“ื™ ืกื™ืกื˜ืขื.

ืขื˜ืœืขื›ืข ื™ื•ื–ืขืจื– ื’ืœื•ื™ื‘ืŸ ืึทื– ืžื™ืจ ื•ื•ืขืœืŸ ืคืึทืจืจื™ื›ื˜ืŸ ืึทืœืฅ ื•ื•ื™ ืžืึทืงืึทื ื™ืงืก ืื™ืŸ ืึท ืžืึทืฉื™ืŸ ื“ื™ื ืกื˜, ืื•ืŸ ื ืึธืจ ืฉื™ืงืŸ ืื•ื ื“ื– ื“ื™ ืฉื™ื™ึทืŸ ืคื•ืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ, ื›ืึธื˜ืฉ ืื™ืŸ ืคืึทืงื˜ ื“ืขืจ ืคึผืจืึธืฆืขืก ื ืขืžื˜ ืึธืจื˜ ืื™ืŸ ืึท ืงืึทื ื•ื•ืขืจืกื™ื™ืฉืึทื ืึทืœ ืคึฟืึธืจืžืึทื˜: ืงืึทืœืขืงื˜ื™ื ื’ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืคืึธืจืžื™ื ื’ ืื•ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ (ืึธื“ืขืจ ืจื™ืคื™ื•ื˜ื™ื ื’) ื›ื™ื™ืคึผืึทื˜ืึทืกืึทื–, ืื•ืŸ, ืื™ืŸ ื“ื™ ืกื•ืฃ, ืึท ื‘ืึทืฉืœื•ืก ืคึผืจืึธื‘ืœืขืžืก ื–ืขื ืขืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืžื™ื˜ ื“ืขื ืงืœื™ืขื ื˜.

ืคึผืจืึธื‘ืœืขื ืื™ืŸ ืงืฉื™ื

ื”ื™ื™ึทื ื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื’ืขืฉื™ื›ื˜ืข ืžื™ื˜ ืึท ื’ื•ื˜ืŸ ืกื•ืฃ. ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืกื™ื‘ื•ืช ืคึฟืึทืจ ื“ื™ ืžืฆืœื™ื— ื”ืึทื›ืœืึธื˜ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ืคืึทืœ ืื™ื– ืึท ื–ื™ื™ืขืจ ื“ื™ื˜ื™ื™ืœื“ ืื•ืŸ ืคึผื™ื ื˜ืœืขืš ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื. ื•ื ื˜ืขืจ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืึท ืงืึธืคึผื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ืœืขื˜ (ืขื“ื™ื˜ื™ื“ ืฆื• ื‘ืึทื”ืึทืœื˜ืŸ ืงืึทื ืคืึทื“ืขื ืฉืึทืœ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข):
ื ื“ืขืจืฆื™ื™ืœื•ื ื’ ื•ื•ืขื’ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ Google ืงืœืึธื•ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ
ื“ืขืจ ืึธื ื–ืึธื’ ื›ึผื•ืœืœ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื ื•ืฆื™ืง ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคึฟืึทืจ ืื•ื ื“ื–:

  • ืกืคึผืขืฆื™ืคื™ืฉ VM ืกืคึผืขืกื™ืคื™ืขื“
  • ื“ืขืจ ืคึผืจืึธื‘ืœืขื ื–ื™ืš ืื™ื– ืื ื’ืขื•ื•ื™ื–ืŸ - ื“ื ืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ
  • ืขืก ืื™ื– ืื ื’ืขื•ื•ื™ื–ืŸ ื•ื•ื• ื“ื™ ืคึผืจืึธื‘ืœืขื ืžืึทื ืึทืคืขืกื˜ ื–ื™ืš - VM ืื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ
  • ื“ื™ ืกื˜ืขืคึผืก ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื’ืขื ื•ืžืขืŸ ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ื–ืขื ืขืŸ ืื ื’ืขื•ื•ื™ื–ืŸ.

ื“ื™ ื‘ืงืฉื” ืื™ื– ื’ืขื•ื•ืขืŸ ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื•ื•ื™ "P1: ืงืจื™ื˜ื™ืฉ ื™ืžืคึผืึทืงื˜ - ืกืขืจื•ื•ื™ืก ืึทื ื™ื•ื–ืึทื‘ืึทืœ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข", ื•ื•ืึธืก ืžื™ื˜ืœ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืคื•ืŸ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข 24/7 ืœื•ื™ื˜ ื“ื™ "ื ืึธื›ืคืึธืœื’ืŸ ื“ื™ ื–ื•ืŸ" ืกื›ืขืžืข (ืื™ืจ ืงืขื ื˜ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ืคึผืจื™ื™ืึธืจืึทื˜ื™ื– ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืจื™ืงื•ื•ืขืก), ืžื™ื˜ ื–ื™ื™ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคื•ืŸ ืื™ื™ืŸ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ ืžืึทื ืฉืึทืคึฟื˜ ืฆื• ืื ื“ืขืจืŸ ืžื™ื˜ ื™ืขื“ืขืจ ืฆื™ื™ื˜ ื–ืึธื ืข ื™ื‘ืขืจืจื•ืง. ืื™ืŸ ืคืึทืงื˜, ื•ื•ืขืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ืจื™ื˜ืฉื˜ ืื•ื ื“ื–ืขืจ ืžืึทื ืฉืึทืคึฟื˜ ืื™ืŸ ืฆื™ืจื™ืš, ืขืก ื”ืื˜ ืฉื•ื™ืŸ ืึทืจื•ืžื™ืง ื“ืขืจ ื•ื•ืขืœื˜. ืื™ืŸ ื“ืขื ืฆื™ื™ื˜, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื”ืื˜ ื’ืขื ื•ืžืขืŸ ืžื™ื˜ื™ื’ื™ื™ืฉืึทืŸ ืžื™ื˜ืœืขืŸ, ืึธื‘ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจืฉืจืึธืงืŸ ืคื•ืŸ ืึท ืื™ื‘ืขืจื—ื–ืจืŸ ืคื•ืŸ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข, ื•ื•ื™ื™ึทืœ ื“ื™ ื•ื•ืึธืจืฆืœ ืกื™ื‘ื” ืื™ื– ื ืึธืš ื ื™ืฉื˜ ื“ื™ืกืงืึทื•ื•ืขืจื“.

ืฐืข ืŸ ื“ืข ืจ ื‘ื™ืœืขื˜ ืŸ ืื™ ื– ื’ืขืงื•ืžืข ืŸ ืฆ ื• ืฆื™ืจื™ืš , ื”ืื‘ ืŸ ืžื™ ืจ ืฉื•ื™ ืŸ ื’ืขื”ื ื˜ ื“ ื™ ืคืืœื’ื ื“ื™ืง ืข ื™ื“ื™ืขื•ืช : ืื™ ืŸ ื”ืื ื˜ :

  • ืื™ื ื”ืึทืœื˜ /etc/hosts
  • ืื™ื ื”ืึทืœื˜ /etc/resolv.conf
  • ืจืขื–ื•ืœื˜ืึทื˜ iptables-save
  • ืึทืกืขืžื‘ืึทืœื“ ื“ื•ืจืš ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ ngrep pcap ื˜ืขืงืข

ืžื™ื˜ ื“ื™ ื“ืึทื˜ืŸ, ืžื™ืจ ื–ืขื ืขืŸ ื’ืจื™ื™ื˜ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ "ื•ื™ืกืคืึธืจืฉื•ื ื’" ืื•ืŸ ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืคืึทืกืข.

ืื•ื ื“ื–ืขืจ ืขืจืฉื˜ืขืจ ื˜ืจื™ื˜

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืžื™ืจ ืึธืคึผื’ืขืฉื˜ืขืœื˜ ื“ื™ ืœืึธื’ืก ืื•ืŸ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืขืžืื›ื˜ ื–ื™ื›ืขืจ ืึทื– ืขืก ืึทืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง. ื“ืขืจ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ืจื™ืกืคึผืึทื ื“ื– ืฆื• ื“ื™ IP ืึทื“ืจืขืก 169.254.169.254 ืื•ืŸ, ืฆื•ื•ื™ืฉืŸ ืื ื“ืขืจืข ื–ืื›ืŸ, ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืงืึทื ื˜ืจืึธื•ืœื™ื ื’ ืคืขืœื“ ื ืขืžืขืŸ. ืžื™ืจ ืื•ื™ืš ื˜ืึธืคึผืœ-ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืึทื– ื“ื™ ืคื™ื™ืจื•ื•ืึทืœ ืึทืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง ืžื™ื˜ ื“ื™ VM ืื•ืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ืคืึทืจืฉืคึผืึทืจืŸ ืคึผืึทืงื™ืฅ.

ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืžื™ืŸ ืคื•ืŸ ืžืึธื“ื ืข ืคึผืจืึธื‘ืœืขื: ื“ื™ nmap ื˜ืฉืขืง ืจื™ืคื™ื•ื˜ื™ื“ ืื•ื ื“ื–ืขืจ ื”ื•ื™ืคึผื˜ ื›ื™ื™ืคึผืึทื˜ืึทืกืึทืก ื•ื•ืขื’ืŸ ื“ื™ ืึธื ื•ื•ืขืจ ืคื•ืŸ UDP ืคึผืึทืงื™ืฅ, ืึทื–ื•ื™ ืžื™ืจ ืžืขื ื˜ืึทืœื™ ื’ืขืคึฟื•ื ืขืŸ ืขื˜ืœืขื›ืข ืžืขืจ ืึธืคึผืฆื™ืขืก ืื•ืŸ ื•ื•ืขื’ืŸ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื–ื™ื™:

  • ื–ืขื ืขืŸ ืคึผืึทืงื™ืฅ ื“ืจืึทืคึผื˜ ืกืึทืœืขืงื˜ื™ื•ื•ืœื™? => ืงื•ืง ื“ื™ ื™ืคึผื˜ืึทื‘ืœืขืก ื›ึผืœืœื™ื
  • ืื™ื– ืขืก ื ื™ืฉื˜ ืฆื• ืงืœื™ื™ืŸ? ืžื˜ื•? => ืงื•ืง ืจืขื–ื•ืœื˜ืึทื˜ ip a show
  • ืงืขืŸ ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื•ื™ืš ื•ื•ื™ืจืงืŸ ื‘ืœื•ื™ื– UDP ืคึผืึทืงื™ืฅ ืึธื“ืขืจ TCP? => ืคืึธืจ ืึทื•ื•ืขืง dig +tcp
  • ื–ืขื ืขืŸ ื’ืจืึธื‘ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืคึผืึทืงื™ืฅ ืื•ืžื’ืขืงืขืจื˜? => ืคืึธืจ ืึทื•ื•ืขืง tcpdump
  • ืื™ื– libdns ืืจื‘ืขื˜ืŸ ืจื™ื›ื˜ื™ืง? => ืคืึธืจ ืึทื•ื•ืขืง strace ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื˜ืจืึทื ืกืžื™ืกื™ืข ืคื•ืŸ โ€‹โ€‹ืคึผืึทืงื™ืฅ ืื™ืŸ ื‘ื™ื™ื“ืข ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก

ื“ืึธ ืžื™ืจ ื‘ืึทืฉืœื™ืกืŸ ืฆื• ืจื•ืคืŸ ื“ืขื ื‘ืึทื ื™ืฆืขืจ ืฆื• ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ ืคึผืจืึธื‘ืœืขืžืก ืœืขื‘ืŸ.

ื‘ืขืฉืึทืก ื“ื™ ืจื•ืคืŸ ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืขื˜ืœืขื›ืข ื˜ื™ื ื’ื–:

  • ื ืึธืš ืขื˜ืœืขื›ืข ื˜ืฉืขืงืก, ืžื™ืจ ื•ื™ืกืฉืœื™ืกืŸ ื™ืคึผื˜ืึทื‘ืœืขืก ื›ึผืœืœื™ื ืคื•ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ืกื™ื‘ื•ืช
  • ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื ืขืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืื•ืŸ ืจื•ื˜ื™ื ื’ ื˜ื™ืฉืŸ, ืื•ืŸ ื˜ืึธืคึผืœ ื˜ืฉืขืง ืึทื– ื“ื™ MTU ืื™ื– ืจื™ื›ื˜ื™ืง
  • ืžื™ืจ ืึทื ื˜ื“ืขืงืŸ ืึทื– dig +tcp google.com (TCP) ืึทืจื‘ืขื˜ ื•ื•ื™ ืขืก ื–ืึธืœ, ืึธื‘ืขืจ dig google.com (UDP) ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ
  • ื•ื•ื™ื™ืœ ืคืืจื˜ืจื™ื‘ืŸ tcpdump ืขืก ืึทืจื‘ืขื˜ ื ืึธืš dig, ืžื™ืจ ื’ืขืคึฟื™ื ืขืŸ ืึทื– UDP ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ืื•ืžื’ืขืงืขืจื˜
  • ืžื™ืจ ืคืึธืจ ืึทื•ื•ืขืง strace dig google.com ืื•ืŸ ืžื™ืจ ื–ืขืŸ ื•ื•ื™ ื’ืจืึธื‘ืŸ ืจื™ื›ื˜ื™ืง ืจื•ืคื˜ sendmsg() ะธ recvms(), ืึธื‘ืขืจ ื“ืขืจ ืฆื•ื•ื™ื™ื˜ืขืจ ืื™ื– ื™ื ื˜ืขืจืึทืคึผื˜ื™ื“ ื“ื•ืจืš ืึท ื˜ื™ื™ืžืึทื•ื˜

ืฆื•ื ื‘ืึทื“ื•ื™ืขืจืŸ, ื“ืขืจ ืกื•ืฃ ืคื•ืŸ ื“ื™ ื™ื‘ืขืจืจื•ืง ืงื•ืžื˜ ืื•ืŸ ืžื™ืจ ื–ืขื ืขืŸ ื’ืขืฆื•ื•ื•ื ื’ืขืŸ ืฆื• ืขืกืงืึทืœื™ื™ื˜ ื“ื™ ืคึผืจืึธื‘ืœืขื ืฆื• ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฆื™ื™ื˜ ื–ืึธื ืข. ื“ืขืจ ื‘ืงืฉื”, ืึธื‘ืขืจ, ื”ืึธื˜ ืื•ื™ืคื’ืขื•ื•ืขืงื˜ ืื™ื ื˜ืขืจืขืก ืื™ืŸ ืื•ื ื“ื–ืขืจ ืžืึทื ืฉืึทืคึฟื˜, ืื•ืŸ ืึท ืงืึธืœืขื’ืข ืกืึทื’ื“ื–ืฉืขืกืฅ ืฆื• ืฉืึทืคึฟืŸ ื“ื™ ืขืจืฉื˜ ื“ื ืก ืคึผืขืงืœ ื ื™ืฆืŸ ื“ื™ ืกืงืจืึทืคึผื™ ืคึผื™ื˜ื”ืึธืŸ ืžืึธื“ื•ืœืข.

from scapy.all import *

answer = sr1(IP(dst="169.254.169.254")/UDP(dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com")),verbose=0)
print ("169.254.169.254", answer[DNS].summary())

ื“ืขืจ ืคืจืึทื’ืžืขื ื˜ ืงืจื™ื™ื™ืฅ ืึท ื“ื ืก ืคึผืึทืงืึทื˜ ืื•ืŸ ืกืขื ื“ื– ื“ื™ ื‘ืขื˜ืŸ ืฆื• ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ.

ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืœื•ื™ืคื˜ ื“ื™ ืงืึธื“, ื“ื™ ื“ื ืก ืขื ื˜ืคืขืจ ืื™ื– ืื•ืžื’ืขืงืขืจื˜, ืื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื ืขืžื˜ ืขืก, ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึทื– ืขืก ืื™ื– ืงื™ื™ืŸ ืคึผืจืึธื‘ืœืขื ืื•ื™ืฃ ื“ื™ ื ืขืฅ ืžื“ืจื’ื”.

ื ืึธืš ื ืึธืš ืึท "ืึทืจื•ื-ื•ื•ืขืœื˜ ื™ืึทื–ื“ืข," ื“ื™ ื‘ืงืฉื” ืงืขืจื˜ ื–ื™ืš ืฆื• ืื•ื ื“ื–ืขืจ ืงืึธืœืขืงื˜ื™ื•ื•, ืื•ืŸ ืื™ืš ืื™ื‘ืขืจื’ืขื‘ืŸ ืขืก ื’ืึธืจ ืฆื• ื–ื™ืš, ืžื™ื™ืŸ ืžื™ื™ื ื•ื ื’ ืึทื– ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืึทืงื•ื•ืขื ืคึฟืึทืจ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืื•ื™ื‘ ื“ื™ ื‘ืงืฉื” ื•ื•ืขื˜ ื”ืึทืœื˜ืŸ ื–ื™ืš ืึทืจื•ืžืจื™ื ื’ืœืขืŸ ืคื•ืŸ ืึธืจื˜ ืฆื• ืึธืจื˜.

ืื™ืŸ ื“ืขืจ ื“ืขืจื•ื•ื™ื™ืœ, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืœื™ื‘ ืึทื’ืจื™ื– ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื ื‘ื™ืœื“. ื“ืึธืก ืื™ื– ื–ื™ื™ืขืจ ื’ื•ื˜ ื ื™ื™ึทืขืก: ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืกื™ืกื˜ืขื ื–ื™ืš ืžืื›ื˜ ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืคื™ืœ ืคืึทืกื˜ืขืจ, ื•ื•ื™ื™ึทืœ ืื™ืš ื ื™ื˜ ืžืขืจ ืฆื• ืคืจืขื’ืŸ ื“ืขื ื‘ืึทื ื™ืฆืขืจ ืฆื• ืœื•ื™ืคืŸ ืงืึทืžืึทื ื“ื–, ืฉื™ืงืŸ ืžื™ืจ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื•ืŸ ืึทื ืึทืœื™ื™ื– ื–ื™ื™, ืื™ืš ืงืขื ืขืŸ ื˜ืึธืŸ ืึทืœืฅ ื–ื™ืš!

ืžื™ื™ื ืข ื—ื‘ืจื™ื ื ืขืžืขืŸ ืžื™ืš ืื‘ื™ืกืœ ืžืงื ื. ืื™ื‘ืขืจ ืœืึธื ื˜ืฉ ืžื™ืจ ื“ื™ืกืงื•ื˜ื™ืจืŸ ื“ื™ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ, ืึธื‘ืขืจ ืงื™ื™ืŸ ืื™ื™ื ืขืจ ื”ืื˜ ืงื™ื™ืŸ ื’ืขื“ืึทื ืง ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ. ืฆื•ืž ื’ืœื™ืง, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื–ื™ืš ื”ืื˜ ืฉื•ื™ืŸ ื’ืขื ื•ืžืขืŸ ืžื™ื˜ืœืขืŸ ืฆื• ืคืึทืจืžื™ื ืขืจืŸ ื“ื™ ืงืึทื ืกืึทืงื•ื•ืขื ืกืึทื– ืื•ืŸ ืื™ื– ืื™ืŸ ืงื™ื™ืŸ ื™ื™ึทืœืŸ, ืึทื–ื•ื™ ืžื™ืจ ื”ืึธื‘ืŸ ืฆื™ื™ึทื˜ ืฆื• ื“ื™ื™ืกืขืงื˜ ื“ื™ ืคึผืจืึธื‘ืœืขื. ืื•ืŸ ื–ื™ื ื˜ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื‘ื™ืœื“, ืžื™ืจ ืงืขื ืขืŸ ื“ื•ืจื›ืคื™ืจืŸ ืงื™ื™ืŸ ื˜ืขืกืฅ ื•ื•ืึธืก ืื™ื ื˜ืขืจืขืก ืื•ื ื“ื–. ื’ืจื•ื™ืก!

ื ืขืžืขืŸ ืึท ืฉืจื™ื˜ ืฆื•ืจื™ืง

ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืื™ื ื˜ืขืจื•ื•ื™ื• ืคืจืื’ืขืก ืคึฟืึทืจ ืกื™ืกื˜ืขื ื™ื ื–ืฉืขื ื™ืจ ืฉื˜ืขืœืขืก ืื™ื–: "ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ื•ื•ืขืŸ ืื™ืจ ืคึผื™ื ื’ www.google.com? ื“ื™ ืงืฉื™ื ืื™ื– ื’ืจื•ื™ืก, ื•ื•ื™ื™ึทืœ ื“ืขืจ ืงืึทื ื“ื™ื“ืึทื˜ ื“ืึทืจืฃ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืึทืœืฅ ืคื•ืŸ ื“ื™ ืฉืึธืœ ืฆื• ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ, ืฆื• ื“ื™ ืกื™ืกื˜ืขื ืงืขืจืŸ ืื•ืŸ ื“ืขืจื ืึธืš ืฆื• ื“ื™ ื ืขืฅ. ืื™ืš ืฉืžื™ื™ื›ืœ: ืžืืœ ืื™ื ื˜ืขืจื•ื•ื™ื• ืคึฟืจืื’ืŸ ื–ืขื ืขืŸ ื ื•ืฆื™ืง ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืœืขื‘ืŸ ...

ืื™ืš ื‘ืึทืฉืœื™ืกืŸ ืฆื• ืฆื•ืœื™ื™ื’ืŸ ื“ืขื HR ืงืฉื™ื ืฆื• ืึท ืงืจืึทื ื˜ ืคึผืจืึธื‘ืœืขื. ื‘ืขืขืจืขืš ื’ืขืจืขื“ื˜, ื•ื•ืขืŸ ืื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืึท DNS ื ืึธืžืขืŸ, ื“ื™ ืคืืœื’ืขื ื“ืข ื›ืึทืคึผืึทื ื–:

  1. ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืจื•ืคื˜ ืึท ืกื™ืกื˜ืขื ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืึทื–ืึท ื•ื•ื™ libdns
  2. libdns ื˜ืฉืขืงืก ื“ื™ ืกื™ืกื˜ืขื ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืฆื• ื•ื•ืึธืก ื“ื ืก ืกืขืจื•ื•ืขืจ ืขืก ื–ืึธืœ ืงืึธื ื˜ืึทืงื˜ (ืื™ืŸ ื“ื™ ื“ื™ืึทื’ืจืึทืžืข ื“ืึธืก ืื™ื– 169.254.169.254, ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ)
  3. libdns ื ื™ืฆื˜ ืกื™ืกื˜ืขื ืงืึทืœืœืก ืฆื• ืฉืึทืคึฟืŸ ืึท ื•ื“ืคึผ ื›ืึธืœืขืœ (SOKET_DGRAM) ืื•ืŸ ืฉื™ืงืŸ ื•ื“ืคึผ ืคึผืึทืงื™ืฅ ืžื™ื˜ ืึท ื“ื ืก ืึธื ืคึฟืจืขื’ ืื™ืŸ ื‘ื™ื™ื“ืข ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก
  4. ื“ื•ืจืš ื“ื™ sysctl ืฆื•ื‘ื™ื ื“ ืื™ืจ ืงืขื ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ UDP ืึธื ืœื™ื™ื’ืŸ ืื•ื™ืฃ ื“ื™ ืงืขืจืŸ ืžื“ืจื’ื”
  5. ื“ืขืจ ืงืขืจืŸ ื™ื ื˜ืขืจืึทืงืฅ ืžื™ื˜ ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคึผืึทืงื™ืฅ ืื™ื‘ืขืจ ื“ื™ ื ืขืฅ ื“ื•ืจืš ื“ื™ ื ืขืฅ ืฆื•ื‘ื™ื ื“
  6. ื“ืขืจ ื›ื™ื™ืคึผืขืจื•ื•ื™ื™ื–ืขืจ ืงืึทื˜ืฉืึทื– ืื•ืŸ ื˜ืจืึทื ืกืžื™ื˜ื˜ ื“ื™ ืคึผืึทืงืึทื˜ ืฆื• ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ื•ื•ืขืŸ ืงืึธื ื˜ืึทืงื˜ ืžื™ื˜ ืื™ื
  7. ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ, ื“ื•ืจืš ื–ื™ื™ืŸ ืžืึทื’ื™ืฉ, ื“ื™ื˜ืขืจืžืึทื ื– ื“ื™ ื“ื ืก ื ืึธืžืขืŸ ืื•ืŸ ืงืขืจื˜ ืึท ืขื ื˜ืคืขืจ ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ืื•ืคึฟืŸ

ื ื“ืขืจืฆื™ื™ืœื•ื ื’ ื•ื•ืขื’ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ Google ืงืœืึธื•ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ
ืœืืžื™ืจ ืื™ื™ืš ื“ืขืจืžืื ืขืŸ ื•ื•ืขืœื›ืข ื”ืฉืขืจื•ืช ืžื™ืจ ื”ืื‘ืŸ ืฉื•ื™ืŸ ื‘ืื˜ืจืื›ื˜:

ื”ื™ืคึผืึธื˜ื”ืขืกื™ืก: ืฆืขื‘ืจืื›ืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง

  • ื˜ืขืกื˜ 1: ืœื•ื™ืคืŸ ืกื˜ืจืึทืกืข ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื, ื˜ืฉืขืง ืึทื– ื’ืจืึธื‘ืŸ ืจื•ืคื˜ ื“ื™ ืจื™ื›ื˜ื™ืง ืกื™ืกื˜ืขื ืจื•ืคื˜
  • ืจืขื–ื•ืœื˜ืึทื˜: ืจื™ื›ื˜ื™ืง ืกื™ืกื˜ืขื ืจื•ืคื˜ ื–ืขื ืขืŸ ื’ืขืจื•ืคืŸ
  • ื˜ืขืกื˜ 2: ื ื™ืฆืŸ srapy ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ืžื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ื ืขืžืขืŸ ื‘ื™ื™ืคึผืึทืกื™ื ื’ ืกื™ืกื˜ืขื ืœื™ื™ื‘ืจืขืจื™ื–
  • ืจืขื–ื•ืœื˜ืึทื˜: ืžื™ืจ ืงืขื ืขืŸ
  • ื˜ืขืกื˜ 3: ืœื•ื™ืคืŸ rpm โ€“V ืื•ื™ืฃ ื“ื™ libdns ืคึผืขืงืœ ืื•ืŸ md5sum ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื˜ืขืงืขืก
  • ืจืขื–ื•ืœื˜ืึทื˜: ื“ืขืจ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืงืึธื“ ืื™ื– ื’ืึธืจ ื™ื™ื“ืขื ื™ืงืึทืœ ืฆื• ื“ื™ ืงืึธื“ ืื™ืŸ ื“ื™ ืืจื‘ืขื˜ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื
  • ื˜ืขืกื˜ 4: ืึธื ืงืœืึทืคึผืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ 'ืก ื•ื•ืึธืจืฆืœ ืกื™ืกื˜ืขื ื‘ื™ืœื“ ืื•ื™ืฃ ืึท VM ืึธืŸ ื“ืขื ื ืึทื˜ื•ืจ, ืœื•ื™ืคืŸ Chroot, ื–ืขืŸ ืื•ื™ื‘ DNS ืึทืจื‘ืขื˜
  • ืจืขื–ื•ืœื˜ืึทื˜: ื“ื ืก ืึทืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง

ืžืกืงื ื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกืฅ: ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ืœื™ื™ื‘ืจืขืจื™ื–

ื”ื™ืคึผืึธื˜ื”ืขืกื™ืก: ืขืก ืื™ื– ืึท ื˜ืขื•ืช ืื™ืŸ ื“ื™ ื“ื ืก ืกืขื˜ื˜ื™ื ื’ืก

  • ื˜ืขืกื˜ 1: ื˜ืฉืขืง tcpdump ืื•ืŸ ื–ืขืŸ ืื•ื™ื‘ ื“ื ืก ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ื’ืขืฉื™ืงื˜ ืื•ืŸ ืื•ืžื’ืขืงืขืจื˜ ืจื™ื›ื˜ื™ืง ื ืึธืš ืคืœื™ืกื ื“ื™ืง ื’ืจืึธื‘ืŸ
  • ืจืขื–ื•ืœื˜ืึทื˜: ืคึผืึทืงื™ืฅ ื–ืขื ืขืŸ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืจื™ื›ื˜ื™ืง
  • ื˜ืขืกื˜ 2: ื˜ืึธืคึผืœ ื˜ืฉืขืง ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ /etc/nsswitch.conf ะธ /etc/resolv.conf
  • ืจืขื–ื•ืœื˜ืึทื˜: ืึทืœืฅ ืื™ื– ืจื™ื›ื˜ื™ืง

ืžืกืงื ื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกืฅ: ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืžื™ื˜ ื“ื™ ื“ื ืก ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ื”ื™ืคึผืึธื˜ื”ืขืกื™ืก: ื”ืึทืจืฅ ื“ืึทืžื™ื“ื–ืฉื“

  • ื˜ืขืกื˜: ื™ื ืกื˜ืึทืœื™ืจืŸ ื ื™ื™ึท ืงืขืจืŸ, ื˜ืฉืขืง ื›ืกื™ืžืข, ืจื™ืกื˜ืึทืจื˜
  • ืจืขื–ื•ืœื˜ืึทื˜: ืขื ืœืขืš ื ืึทื˜ื•ืจ

ืžืกืงื ื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกืฅ: ื“ืขืจ ืงืขืจืŸ ืื™ื– ื ื™ืฉื˜ ื“ืึทืžื™ื“ื–ืฉื“

ื”ื™ืคึผืึธื˜ื”ืขืกื™ืก: ืคืึทืœืฉ ื ืึทื˜ื•ืจ ืคื•ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ื ืขืฅ (ืึธื“ืขืจ ื›ื™ื™ืคึผืขืจื•ื•ื™ื™ื–ืขืจ ื ืขืฅ ืฆื•ื‘ื™ื ื“)

  • ื˜ืขืกื˜ 1: ืงื•ืง ื“ื™ื™ืŸ ืคื™ื™ืจื•ื•ืึทืœ ืกืขื˜ื˜ื™ื ื’ืก
  • ืจืขื–ื•ืœื˜ืึทื˜: ื“ื™ ืคื™ื™ืจื•ื•ืึทืœ ืคึผืึทืกื™ื– ื“ื ืก ืคึผืึทืงื™ืฅ ืื•ื™ืฃ ื‘ื™ื™ื“ืข ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ GCP
  • ื˜ืขืกื˜ 2: ื™ื ื˜ืขืจืกืขืคึผื˜ ืคืึทืจืงืขืจ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืงืขืจืขืงื˜ื ืึทืก ืคื•ืŸ ื“ื™ ื˜ืจืึทื ืกืžื™ืกื™ืข ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืคื•ืŸ ื“ื ืก ืจื™ืงื•ื•ืขืก
  • ืจืขื–ื•ืœื˜ืึทื˜: tcpdump ืงืึทื ืคืขืจืžื– ืึทื– ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ื”ืื˜ ื‘ืืงื•ืžืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืคึผืึทืงื™ืฅ

ืžืกืงื ื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกืฅ: ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืื™ืŸ ื“ื™ ื ืขืฅ

ื”ื™ืคึผืึธื˜ื”ืขืกื™ืก: ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ืื™ื– ื ื™ืฉื˜ ืืจื‘ืขื˜ืŸ

  • ื˜ืขืกื˜ 1: ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ืœืึธื’ืก ืคึฟืึทืจ ืึทื ืึทืžืึทืœื™ื–
  • ืจืขื–ื•ืœื˜ืึทื˜: ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืึทื ืึทืžืึทืœื™ื– ืื™ืŸ ื“ื™ ืœืึธื’ืก
  • ื˜ืขืกื˜ 2: ื‘ื™ื™ืคึผืึทืก ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ ื“ื•ืจืš dig @8.8.8.8
  • ืจืขื–ื•ืœื˜ืึทื˜: ื”ืึทื›ืœืึธื˜ืข ืื™ื– ืฆืขื‘ืจืื›ืŸ ืืคื™ืœื• ืึธืŸ ื ื™ืฆืŸ ืึท ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ

ืžืกืงื ื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื˜ืขืกืฅ: ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื ื™ืฉื˜ ืžื™ื˜ ื“ื™ ืžืขื˜ืึทื“ืึทื˜ืึท ืกืขืจื•ื•ืขืจ

ื“ื™ ื“ื ืึธ ืฉื•ืจื”: ืžื™ืจ ื˜ืขืกื˜ืขื“ ืึทืœืข ืกืึทื‘ืกื™ืกื˜ืึทืžื– ืึทื—ื•ืฅ ืจื•ื ื˜ื™ืžืข ืกืขื˜ื˜ื™ื ื’ืก!

ื“ื™ื™ื•ื•ื™ื ื’ ืื™ืŸ ืงืขืจื ืขืœ ืจื•ื ื˜ื™ืžืข ืกืขื˜ื˜ื™ื ื’ืก

ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืงืขืจืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืกื•ื•ื™ื•ื•ืข, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืึธืคึผืฆื™ืขืก (ื’ืจื•ื‘) ืึธื“ืขืจ ื“ื™ sysctl ืฆื•ื‘ื™ื ื“. ืื™ืš ื”ืึธื‘ ืึทืจืฒึทื ื’ืขืงื•ืงื˜ /etc/sysctl.conf ืื•ืŸ ื ืึธืจ ื˜ืจืึทื›ื˜ืŸ, ืื™ืš ื“ื™ืกืงืึทื•ื•ืขืจื“ ืขื˜ืœืขื›ืข ืžื ื”ื’ ืกืขื˜ื˜ื™ื ื’ืก. ื’ืขืคื™ืœ ื•ื•ื™ ืื•ื™ื‘ ืื™ืš ื’ืจืึทื‘ื“ ืึทื ื˜ื• ืขืคึผืขืก, ืื™ืš ืึทื•ื•ืขืงื•ื•ืึทืจืคืŸ ืึทืœืข ื ื™ื˜-ื ืขืฅ ืึธื“ืขืจ ื ื™ื˜-ื˜ืงืคึผ ืกืขื˜ื˜ื™ื ื’ืก, ืจื•ืขืŸ ืžื™ื˜ ื“ื™ ื‘ืึทืจื’ ืกืขื˜ื˜ื™ื ื’ืก net.core. ื“ืขืจื ืึธืš ืื™ืš ื’ืขื’ืื ื’ืขืŸ ืฆื• ื•ื•ื• ื“ื™ ื‘ืึทืœืขื‘ืึธืก ืคึผืขืจืžื™ืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืื™ืŸ ื“ื™ VM ืื•ืŸ ืกื˜ืึทืจื˜ืขื“ ืึทืคึผืœื™ื™ื™ื ื’ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืื™ื™ื ืขืจ ื“ื•ืจืš ืื™ื™ื ืขืจ, ืื™ื™ื ืขืจ ื ืึธืš ื“ืขื ืื ื“ืขืจืŸ, ืžื™ื˜ ื“ื™ ืฆืขื‘ืจืื›ืŸ VM, ื‘ื™ื– ืื™ืš ื’ืขืคึฟื•ื ืขืŸ ื“ืขื ืงื•ืœืคึผืจื™ื˜:

net.core.rmem_default = 2147483647

ื“ืึธ ืขืก ืื™ื–, ืึท ื“ื ืก-ื‘ืจื™ื™ืงื™ื ื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ! ืื™ืš ื”ืื‘ ื’ืขืคื•ื ืขืŸ ื“ืืก ืžืืจื“ ื•ื•ืืคืŸ. ืึธื‘ืขืจ ื•ื•ืึธืก ืื™ื– ื“ืึธืก ื’ืขืฉืขืขื ื™ืฉ? ืื™ืš ื”ืื‘ ื ืืš ื’ืขื“ืืจืคื˜ ื ืžืื˜ื™ื•ื•.

ื“ื™ ื™ืงืขืจื“ื™ืง ื“ื ืก ืคึผืึทืงืึทื˜ ื‘ืึทืคืขืจ ื’ืจื™ื™ืก ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื•ืจืš net.core.rmem_default. ื ื˜ื™ืคึผื™ืฉ ื•ื•ืขืจื˜ ืื™ื– ืขืจื’ืขืฅ ืึทืจื•ื 200KiB, ืึธื‘ืขืจ ืื•ื™ื‘ ื“ื™ื™ืŸ ืกืขืจื•ื•ืขืจ ื ืขืžื˜ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื“ื ืก ืคึผืึทืงื™ืฅ, ืื™ืจ ืงืขืŸ ื•ื•ืขืœืŸ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื‘ืึทืคืขืจ ื’ืจื™ื™ืก. ืื•ื™ื‘ ื“ืขืจ ื‘ืึทืคืขืจ ืื™ื– ืคื•ืœ ื•ื•ืขืŸ ืึท ื ื™ื™ึทืข ืคึผืึทืงืึทื˜ ืงื•ืžื˜, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ ื•ื•ื™ื™ึทืœ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ื ื™ืฉื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืฉื ืขืœ ื’ืขื ื•ื’, ืื™ืจ ื•ื•ืขื˜ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืคืึทืจืœื™ืจืŸ ืคึผืึทืงื™ืฅ. ืื•ื ื“ื–ืขืจ ืงืœื™ืขื ื˜ ื”ืื˜ ืจื™ื›ื˜ื™ืง ื’ืขื•ื•ืืงืกืŸ ื“ื™ ื‘ืึทืคืขืจ ื’ืจื™ื™ืก ื•ื•ื™ื™ึทืœ ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจืฉืจืึธืงืŸ ืคื•ืŸ ื“ืึทื˜ืŸ ืึธื ื•ื•ืขืจ, ื–ื™ื ื˜ ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ื ื™ืฆืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืงืึทืœืขืงื˜ื™ื ื’ ืžืขื˜ืจื™ืงืก ื“ื•ืจืš ื“ื ืก ืคึผืึทืงื™ืฅ. ื“ื™ ื•ื•ืขืจื˜ ื•ื•ืึธืก ืขืจ ื”ืึธื˜ ื‘ืึทืฉื˜ื™ืžื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืžืึทืงืกื™ืžื•ื ืžืขื’ืœืขืš: 231-1 (ืื•ื™ื‘ ืฉื˜ืขืœืŸ ืฆื• 231, ื“ืขืจ ืงืขืจืŸ ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ "ื™ื ื•ื•ืึทืœื™ื“ ืึทืจื’ื•ืžืขื ื˜").

ืคึผืœื•ืฆืœื™ื ื’ ืื™ืš ืื™ื™ื ื’ืขื–ืขืŸ ื•ื•ืึธืก ื ืžืึทืคึผ ืื•ืŸ ืกืงืึทืคึผื™ ื’ืขืืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง: ื–ื™ื™ ื–ืขื ืขืŸ ื ื™ืฆืŸ ืจื•ื™ ืกืึทืงืึทืฅ! ืจื•ื™ ืกืึทืงืึทืฅ ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ ืคื•ืŸ ืจืขื’ื•ืœืขืจ ืกืึทืงืึทืฅ: ื–ื™ื™ ื‘ื™ื™ืคึผืึทืก ื™ืคึผื˜ืึทื‘ืœืขืก ืื•ืŸ ื–ื™ื™ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ืึทืคืขืจื“!

ืื‘ืขืจ ืคืืจื•ื•ืืก ื˜ื•ื˜ "ื‘ืึทืคืขืจ ืฆื• ื’ืจื•ื™ืก" ื’ืจื•ื ื˜ ืคึผืจืึธื‘ืœืขืžืก? ืขืก ืงืœืืจ ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ื•ื•ื™ ื‘ื“ืขื”.

ืื™ืŸ ื“ืขื ืคื•ื ื˜ ืื™ืš ืงืขืŸ ืจืขืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ืื•ื™ืฃ ืงื™ื™ืคืœ ืงืขืจื ืึทืœื– ืื•ืŸ ืงื™ื™ืคืœ ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื–. ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ืฉื•ื™ืŸ ืืจื•ื™ืก ืื•ื™ืฃ ื“ื™ 3.x ืงืขืจืŸ ืื•ืŸ ืื™ืฆื˜ ืขืก ืื™ื– ืื•ื™ืš ืืจื•ื™ืก ืื•ื™ืฃ ื“ื™ 5.x ืงืขืจืŸ.

ื˜ืึทืงืข, ื‘ื™ื™ ืกื˜ืึทืจื˜ืึทืคึผ

sysctl -w net.core.rmem_default=$((2**31-1))

ื“ื ืก ืคืืจืฉื˜ืืคื˜ ืืจื‘ืขื˜ืŸ.

ืื™ืš ืื ื’ืขื”ื•ื™ื‘ืŸ ืงื•ืงืŸ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ื•ื•ืึทืœื•ืขืก ื“ื•ืจืš ืึท ืคึผืฉื•ื˜ ื‘ื™ื™ื ืขืจื™ ื–ื•ื›ืŸ ืึทืœื’ืขืจื™ื“ืึทื ืื•ืŸ ื’ืขืคึฟื•ื ืขืŸ ืึทื– ื“ื™ ืกื™ืกื˜ืขื ื’ืขืืจื‘ืขื˜ ืžื™ื˜ 2147481343, ืึธื‘ืขืจ ื“ื™ ื ื•ืžืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืžื™ื ื™ื ื’ืœืึทืก ื’ืึทื ื’ ืคื•ืŸ ื ื•ืžืขืจืŸ ืคึฟืึทืจ ืžื™ืจ. ืื™ืš ืกืึทื’ื“ื–ืฉืขืกื˜ื™ื“ ื“ืขืจ ืงืœื™ืขื ื˜ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ืขื ื ื•ืžืขืจ, ืื•ืŸ ืขืจ ื”ืื˜ ื’ืขืขื ื˜ืคืขืจื˜ ืึทื– ื“ื™ ืกื™ืกื˜ืขื ื’ืขืืจื‘ืขื˜ ืžื™ื˜ google.com, ืึธื‘ืขืจ ื ืึธืš ื’ืขื’ืขื‘ืŸ ืึท ื˜ืขื•ืช ืžื™ื˜ ืื ื“ืขืจืข ื“ืึธื•ืžื™ื™ื ื–, ืึทื–ื•ื™ ืื™ืš ืคืืจื‘ืœื™ื‘ืŸ ืžื™ื™ืŸ ื•ื™ืกืคืึธืจืฉื•ื ื’.

ืื™ืš ื”ืึธื‘ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ืจืึธืคึผื•ื•ืึทื˜ืฉ, ื ื’ืขืฆื™ื™ื’ ื•ื•ืืก ืžืขืŸ ื•ื•ืืœื˜ ื’ืขื“ืืจืคื˜ ื ื•ืฆืŸ ืคืจื™ืขืจ: ืขืก ื•ื•ื™ื™ื–ื˜ ืคื•ื ืงื˜ืœื™ืš ื•ื•ืื• ืื™ืŸ ื“ืขื ืงืขืจืŸ ื ืคืขืงืœ ืขื ื“ื™ื’ื˜ ื–ื™ืš. ื“ื™ ืฉื•ืœื“ื™ืง ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืคึฟื•ื ืงืฆื™ืข udp_queue_rcv_skb. ืื™ืš ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื™ ืงืขืจืŸ ืงื•ื•ืืœืŸ ืื•ืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื‘ื™ืกืœ ืคืึทื ื’ืงืฉืึทื ื– printk ืฆื• ืฉืคึผื•ืจ ื•ื•ื• ืคึผื•ื ืงื˜ ื“ื™ ืคึผืึทืงืึทื˜ ืขื ื“ืก ืึทืจื•ื™ืฃ. ืื™ืš ื”ืื‘ ื’ืขืฉื•ื•ื™ื ื“ ื’ืขืคื•ื ืขืŸ ื“ื™ ืจืขื›ื˜ ืฆื•ืฉื˜ืึทื ื“ if, ืื•ืŸ ื”ืื˜ ื ืืจ ื ืฐืฒืœ ื’ืขืฉื˜ืขืจื˜ ื“ืขืจื•ื™ืฃ, ืฐืฒืœ ื“ืขืžืืœื˜ ืื™ื– ืขื ื“ืœืขืš ืืœืฅ ืฆื•ื–ืืžืขื ื’ืขืคืืœืŸ ืื™ืŸ ื ื’ืื ืฆืขืŸ ื‘ื™ืœื“: 231โ€”1, ื ืืฒืืœืื–ืข ื ื•ืžืขืจ, ื ื ื™ืฉื˜ึพืืจื‘ืขื˜ืŸ ืคืขืœื“... ืืณืื™ื– ื’ืขืฐืขืŸ ื ืฉื˜ื™ืง ืงืื“ ืื™ืŸ __udp_enqueue_schedule_skb:

if (rmem > (size + sk->sk_rcvbuf))
		goto uncharge_drop;

ื‘ื™ื˜ืข ื˜ืึธืŸ:

  • rmem ืื™ื– ืคื•ืŸ ื˜ื™ืคึผ ื™ื ื˜
  • size ืื™ื– ืคื•ืŸ ื˜ื™ืคึผ u16 (ื•ื ืกื™ื’ื ืขื“ ื–ืขื›ืฆืŸ-ื‘ื™ืกืœ ื™ื ื˜) ืื•ืŸ ืกื˜ืึธืจื– ื“ื™ ืคึผืึทืงืึทื˜ ื’ืจื™ื™ืก
  • sk->sk_rcybuf ืื™ื– ืคื•ืŸ ื˜ื™ืคึผ int ืื•ืŸ ืกื˜ืึธืจื– ื“ื™ ื‘ืึทืคืขืจ ื’ืจื™ื™ืก ื•ื•ืึธืก, ืœื•ื™ื˜ ื“ืขืคึฟื™ื ื™ืฆื™ืข, ืื™ื– ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ื•ื•ืขืจื˜ ืื™ืŸ net.core.rmem_default

ื•ื•ืขืŸ sk_rcvbuf ืึทืคึผืจืึธื•ื˜ืฉื™ื– 231, ืกืึทืžื™ื ื’ ื“ื™ ืคึผืึทืงืึทื˜ ื’ืจื™ื™ืก ืงืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจ ืึธื•ื•ื•ืขืจืคืœืึธื•. ืื•ืŸ ื•ื•ื™ื‘ืืœื“ ืขืก ืื™ื– ืืŸ ืื™ื ื˜, ื•ื•ืขืจื˜ ื“ื™ ื•ื•ืขืจื˜ ื ืขื’ืื˜ื™ื•ื•, ื“ืขืจ ืžืฆื‘ ื•ื•ืขืจื˜ ืืžืช ื•ื•ืขืŸ ืขืก ื–ืืœ ื–ื™ื™ืŸ ืคืืœืฉ (ืื™ืจ ืงืขื ื˜ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ื“ืขื ื‘ื™ื™ ืจื•ื ื’).

ื“ืขืจ ื˜ืขื•ืช ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืขืจืขืงื˜ืึทื“ ืื™ืŸ ืึท ื ื™ืฉื˜ื™ืง ื•ื•ืขื’: ื“ื•ืจืš ืงืึทืกื˜ื™ื ื’ unsigned int. ืื™ืš ื’ืขื•ื•ืขื ื“ื˜ ื“ื™ ืคืึทืจืจื™ื›ื˜ืŸ ืื•ืŸ ืจื™ืกื˜ืึทืจื˜ื™ื“ ื“ื™ ืกื™ืกื˜ืขื ืื•ืŸ ื“ื ืก ื’ืขืืจื‘ืขื˜ ื•ื•ื™ื“ืขืจ.

ื’ืขืฉืžืึทืง ืคื•ืŸ ื ืฆื—ื•ืŸ

ืื™ืš ืคืึธืจื•ื•ืขืจื“ื™ื“ ืžื™ื™ืŸ ืคื™ื™ื ื“ื™ื ื’ื– ืฆื• ื“ืขื ืงืœื™ืขื ื˜ ืื•ืŸ ื’ืขืฉื™ืงื˜ ืœืงืžืœ ืงืขืจืŸ ืœืึทื˜ืข. ืื™ืš ื‘ื™ืŸ ืฆื•ืคืจื™ื“ืŸ: ื™ืขื“ืขืจ ืฉื˜ื™ืง ืคื•ืŸ ื“ื™ ืจืขื˜ืขื ื™ืฉ ืคื™ืฅ ืฆื•ื–ืึทืžืขืŸ, ืื™ืš ืงืขื ืขืŸ ื“ืขืจืงืœืขืจืŸ ืคึผื•ื ืงื˜ ื•ื•ืึธืก ืžื™ืจ ื‘ืืžืขืจืงื˜ ื•ื•ืึธืก ืžื™ืจ ื‘ืืžืขืจืงื˜, ืื•ืŸ ืจื•ื‘ึฟ ื™ืžืคึผืึธืจื˜ืึทื ื˜ืœื™, ืžื™ืจ ื–ืขื ืขืŸ ื‘ื™ื›ื•ืœืช ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืึท ืœื™ื™ื–ื•ื ื’ ืฆื• ื“ืขื ืคึผืจืึธื‘ืœืขื ื“ืึทื ืง ืฆื• ืื•ื ื“ื–ืขืจ ืฆื•ื–ืึทืžืขื ืึทืจื‘ืขื˜!

ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื“ืขืจืงืขื ืขืŸ ืึทื– ื“ืขืจ ืคืึทืœ ืื™ื– ื’ืขื•ื•ืขืŸ ื–ืขืœื˜ืŸ, ืื•ืŸ ืฆื•ืž ื’ืœื™ืง ืžื™ืจ ืจืึทืจืขืœื™ ื‘ืึทืงื•ืžืขืŸ ืึทื–ืึท ืงืึธืžืคึผืœืขืงืก ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื ื™ืฆืขืจืก.

ื ื“ืขืจืฆื™ื™ืœื•ื ื’ ื•ื•ืขื’ืŸ ืคืขืœื ื“ื™ืง ื“ื ืก ืคึผืึทืงื™ืฅ ืคึฟื•ืŸ Google ืงืœืึธื•ื“ ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ


ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’