ΠΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π±Π»ΠΎΠ³Π° Google: ΠΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈΡΡ Π»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Google Cloud Technical Solutions (TSE) Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π²Π°ΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ? Π ΡΡΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ TSE Π»Π΅ΠΆΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ΅Π±ΡΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² TSE ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠΎ ΠΎΠ΄Π½Ρ ΠΎΡΠ΅Π½Ρ Π·Π°ΠΊΠΎΠ²ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ· ΡΠ²ΠΎΠ΅ΠΉ Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ β
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π½Π°ΡΠΊΠ°, ΠΈ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ. ΠΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΠ½ΠΎΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΡΠΎΡΠ½ΠΎ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡ Π·Π²ΡΡΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΠΏΠ»ΡΠ²ΡΠ°ΡΠΎ ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ; Π² ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Β«ΠΈΡΠΊΡΡΡΡΠ²ΠΎΒ» ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.
Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Google Cloud ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ Π² ΡΠ°Π·Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Google Cloud ΠΈΠ·ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΠ» ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² TSE Π½Π΅Ρ Π½ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ, Π½ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΈΠ· Π½Π°ΡΠΈΡ
Π³ΠΈΠΏΠΎΡΠ΅Π· ΠΌΡ (ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ) Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΡΠ°Π²ΠΈΠΌ Π²ΡΠ΅ Π±ΡΠ΄ΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΈ Π² Π°Π²ΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ΅, ΠΈ ΠΏΠΎΠΏΡΠΎΡΡΡ Π²ΡΡΡΠ»Π°ΡΡ Π½Π°ΠΌ id Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΠΊΠ°Π΅Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ°: ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ (Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠΎΠ²Π΅ΡΠΆΠ΅Π½ΠΈΠ΅) Π³ΠΈΠΏΠΎΡΠ΅Π·, ΠΈ, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΡΠΎΠΈΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ.
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΠΈΡΡΠΎΡΠΈΡ Ρ Ρ
ΠΎΡΠΎΡΠΈΠΌ ΠΊΠΎΠ½ΡΠΎΠΌ. ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΠΉΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠ΅Π½Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΈ ΡΠΎΡΠ½ΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ΅ΡΠ° (ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ, Ρ ΡΠ΅Π»ΡΡ ΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ):
Π ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
- Π£ΠΊΠ°Π·Π°Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ VM
- Π£ΠΊΠ°Π·Π°Π½Π° ΡΠ°ΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ DNS
- Π£ΠΊΠ°Π·Π°Π½ΠΎ Π³Π΄Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅Π±Ρ ΠΏΡΠΎΡΠ²Π»ΡΠ΅Ρ β VM ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
- Π£ΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠΈΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Β«P1: Critical Impact β Service Unusable in productionΒ», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ 24/7 ΠΏΠΎ ΡΡ
Π΅ΠΌΠ΅ Β«Follow the SunΒ» (ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎ
Π ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΊΠ΅Ρ Π΄ΠΎΡΠ΅Π» Π΄ΠΎ Π¦ΡΡΠΈΡ Π°, Ρ Π½Π°Ρ Π½Π° ΡΡΠΊΠ°Ρ ΡΠΆΠ΅ Π±ΡΠ»Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
/etc/hosts
- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
/etc/resolv.conf
- ΠΡΠ²ΠΎΠ΄
iptables-save
- Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ngrep
ΡΠ°ΠΉΠ» pcap
Π‘ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΡ Π±ΡΠ»ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΡΠ°ΠΏΡ Β«ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΒ» ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.
ΠΠ°ΡΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈ ΠΈ ΡΡΠ°ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. Π‘Π΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ IP Π°Π΄ΡΠ΅ΡΡ 169.254.169.254 ΠΈ, ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ². ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ» ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ VM ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΡΠΎ Π±ΡΠ»Π° ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΡΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° nmap ΠΎΠΏΡΠΎΠ²Π΅ΡΠ³Π»Π° Π½Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ ΠΎ ΠΏΠΎΡΠ΅ΡΠ΅ UDP ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΡΡΠ»Π΅Π½Π½ΠΎ Π²ΡΠ²Π΅Π»ΠΈ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ:
- ΠΡΠΎΠΏΠ°Π΄Π°ΡΡ Π»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ? => ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° iptables
- ΠΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π»ΠΈ ΠΌΠ°Π»
MTU ? => ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ip a show
- ΠΠ°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ UDP-ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈ TCP? => ΠΡΠΎΠ³Π½Π°ΡΡ
dig +tcp
- ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π»ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ dig ΠΏΠ°ΠΊΠ΅ΡΡ? => ΠΡΠΎΠ³Π½Π°ΡΡ
tcpdump
- ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ libdns? => ΠΡΠΎΠ³Π½Π°ΡΡ
strace
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ
Π’ΡΡ ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ ΡΠΎΠ·Π²ΠΎΠ½ΠΈΡΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π²ΠΆΠΈΠ²ΡΡ.
Π Ρ ΠΎΠ΄Π΅ Π·Π²ΠΎΠ½ΠΊΠ° Π½Π°ΠΌ ΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ:
- ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π° iptables ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΈΡΠΈΠ½
- ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ΅ΡΠΈ ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ MTU
- ΠΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ
dig +tcp google.com
(TCP) ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, Π½ΠΎ Π²ΠΎΡdig google.com
(UDP) Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ - ΠΡΠΎΠ³Π½Π°Π²
tcpdump
ΠΏΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρdig
, ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ UDP ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ - ΠΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅ΠΌ
strace dig google.com
ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ dig ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρsendmsg()
ΠΈrecvms()
, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΡ
Π Π½Π΅ΡΡΠ°ΡΡΡΡ, Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΡΠΌΠ΅Π½Ρ ΠΈ ΠΌΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ»Π΅Π΄ΡΡΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·ΠΎΠ½Ρ. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²ΡΠ·Π²Π°Π»ΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ DNS ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ scrapy.
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())
ΠΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ DNS ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄, DNS ΠΎΡΠ²Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠΈ.
ΠΠΎΡΠ»Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ Β«ΠΊΡΡΠ³ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΡΒ» ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΈ Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠΆΡ Π΅Π³ΠΎ Π½Π° ΡΠ΅Π±Ρ, ΠΏΠΎΡΡΠΈΡΠ°Π², ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΠΊΡΡΠΆΠΈΡΡ Ρ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΎ.
Π’Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π»ΡΠ±Π΅Π·Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΎΠ±ΡΠ°Π·Π° ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, Π²Π΅Π΄Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΡΡΡΠ»Π°ΡΡ ΠΌΠ½Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , Ρ ΠΌΠΎΠ³Ρ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌ!
ΠΠΎΠ»Π»Π΅Π³ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΌΠ½Π΅ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρ Π·Π°Π²ΠΈΠ΄ΠΎΠ²Π°ΡΡ. ΠΠ° ΠΎΠ±Π΅Π΄ΠΎΠΌ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ ΠΈΠ΄Π΅ΠΉ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Π ΡΡΠ°ΡΡΡΡ, ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠ» ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΡΠ³ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ ΠΈ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΡΠΏΠ΅ΡΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅ΠΏΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π·, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π»ΡΠ±ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ Π½Π°Ρ ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈΡΠ½ΠΎ!
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ Π½Π° ΡΠ°Π³ Π½Π°Π·Π°Π΄
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ° Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ: Β«Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΠ½Π³ΡΠ΅ΡΠ΅
Π― ΡΠ΅ΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠΉΡΠ°ΡΡΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ DNS ΠΈΠΌΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ libdns
- libdns ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ DNS ΡΠ΅ΡΠ²Π΅ΡΡ Π΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ (Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠΎ 169.254.169.254, ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ )
- libdns ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ UDP ΡΠΎΠΊΠ΅ΡΠ° (SOKET_DGRAM) ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ UDP ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ DNS Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ
- Π§Π΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ sysctl ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ UDP ΡΡΠ΅ΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°
- Π―Π΄ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
- ΠΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π»ΠΎΠ²ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ Ρ Π½ΠΈΠΌ
- Π‘Π΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ»Π΄ΡΠ½ΡΡΠ²ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ DNS ΠΈΠΌΡ ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ ΠΌΡ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ:
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: Π‘Π»ΠΎΠΌΠ°Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
- Π’Π΅ΡΡ 1: ΠΏΡΠΎΠ³Π½Π°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ strace, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ dig Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ
- Π’Π΅ΡΡ 2: ΡΠ΅ΡΠ΅Π· srapy ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΠΌΠ΅Π½Π° Π² ΠΎΠ±Ρ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΌΠΎΠΆΠ΅ΠΌ
- Π’Π΅ΡΡ 3: ΠΏΡΠΎΠ³Π½Π°ΡΡ rpm βV Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅ libdns ΠΈ md5sum ΡΠ°ΠΉΠ»Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄Ρ Π² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅
- Π’Π΅ΡΡ 4: ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° VM Π±Π΅Π· ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΏΡΠΎΠ³Π½Π°ΡΡ chroot, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ DNS
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: DNS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ
ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ DNS
- Π’Π΅ΡΡ 1: ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ tcpdump ΠΈ ΠΏΡΠΎΠ½Π°Π±Π»ΡΠ΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ DNS ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° dig
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ
- Π’Π΅ΡΡ 2: ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
/etc/nsswitch.conf
ΠΈ/etc/resolv.conf
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π²ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ
ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ DNS
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΎ ΡΠ΄ΡΠΎ
- Π’Π΅ΡΡ: ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ΄ΡΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²: ΡΠ΄ΡΠΎ Π½Π΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΎ
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ΅ΡΠΈ (Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ΡΠΈ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°)
- Π’Π΅ΡΡ 1: ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ»Π°
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ» ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ DNS ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π½Π° Ρ ΠΎΡΡΠ΅, ΠΈ Π½Π° GCP
- Π’Π΅ΡΡ 2: ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° DNS Π·Π°ΠΏΡΠΎΡΠΎΠ²
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: tcpdump ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΎΡΡΠΎΠΌ
ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² ΡΠ΅ΡΠΈ
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
- Π’Π΅ΡΡ 1: ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π»ΠΎΠ³ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π² Π»ΠΎΠ³Π°Ρ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π½Π΅Ρ
- Π’Π΅ΡΡ 2: ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π·
dig @8.8.8.8
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ΠΡΠ²ΠΎΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΠ³: ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΡΠΎΠΌΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ!
ΠΠΎΠ³ΡΡΠΆΠ°ΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΄ΡΠ°
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΄ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (grub) Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ sysctl. Π― Π·Π°Π³Π»ΡΠ½ΡΠ» Π² /etc/sysctl.conf
ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ. Π§ΡΠ²ΡΡΠ²ΡΡ Π±ΡΠ΄ΡΠΎ Ρ ΡΡ
Π²Π°ΡΠΈΠ»ΡΡ Π·Π° ΡΡΠΎ-ΡΠΎ, Ρ ΠΎΡΠΌΠ΅Π» Π²ΡΠ΅ Π½Π΅ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅-tcp Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΎΡΡΠ°Π²ΡΠΈΡΡ Ρ Π³ΠΎΡΡΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠ΅ΠΊ net.core
. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΡΡΠ΄Π°, Π³Π΄Π΅ Ρ VM Π»Π΅ΠΆΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ
ΠΎΡΡΠ° ΠΈ Π½Π°ΡΠ°Π» ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠΆΠΊΠΎΠΉ, ΠΎΠ΄Π½Π° Π·Π° Π΄ΡΡΠ³ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎ ΡΠ»ΠΎΠΌΠ°Π½Π½ΠΎΠΉ VM, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΠ΅Π» Π½Π° ΠΏΡΠ΅ΡΡΡΠΏΠ½ΠΈΠΊΠ°:
net.core.rmem_default = 2147483647
ΠΠΎΡ ΠΎΠ½Π°, Π»ΠΎΠΌΠ°ΡΡΠ°Ρ DNS ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ! Π― Π½Π°ΡΠ΅Π» ΠΎΡΡΠ΄ΠΈΠ΅ ΠΏΡΠ΅ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ. ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ? ΠΠ½Π΅ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ΅Π½ Π±ΡΠ» ΠΌΠΎΡΠΈΠ².
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΡΠ΅ΡΠ° DNS ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· net.core.rmem_default
. Π’ΠΈΠΏΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΡΠΈΡΡΠ΅ΡΡΡ Π³Π΄Π΅-ΡΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
200ΠΠΈΠ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ DNS ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°. ΠΡΠ»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠ½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, ΡΠΎ Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠ΅ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ» ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΠ°ΡΠ°Π»ΡΡ ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠ±ΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠ΅ΡΠ΅Π· DNS ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ Π²ΡΡΡΠ°Π²ΠΈΠ», Π±ΡΠ»ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ: 231-1 (Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ°Π²ΠΈΡΡ 231, ΡΠ΄ΡΠΎ Π²Π΅ΡΠ½Π΅Ρ Β«INVALID ARGUMENTΒ»).
ΠΠ½Π΅Π·Π°ΠΏΠ½ΠΎ Ρ ΠΎΡΠΎΠ·Π½Π°Π» ΠΏΠΎΡΠ΅ΠΌΡ nmap ΠΈ scapy ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ: ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΡΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ! Π‘ΡΡΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ : ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠ±Ρ ΠΎΠ΄ iptables, ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ!
ΠΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Β«ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΡΠ΅ΡΒ» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΠ½ ΡΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ.
Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Ρ ΠΌΠΎΠ³ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΄ΡΠ°Ρ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ². ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΆΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΠ»Π°ΡΡ Π½Π° ΡΠ΄ΡΠ΅ 3.Ρ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΠ»Π°ΡΡ Π½Π° ΡΠ΄ΡΠ΅ 5.Ρ .
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅
sysctl -w net.core.rmem_default=$((2**31-1))
DNS ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π― ΠΏΡΠΈΠ½ΡΠ»ΡΡ ΠΈΡΠΊΠ°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΡΡΠΎ Ρ 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
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ intsize
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ u16 (Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΠ±ΠΈΡΠ½ΡΠΉ int) ΠΈ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°sk->sk_rcybuf
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ int ΠΈ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π²Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²net.core.rmem_default
ΠΠΎΠ³Π΄Π° sk_rcvbuf
ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅ΡΡΡ ΠΊ 231, ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ
ΠΡΠΈΠ±ΠΊΠ° ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ unsigned int
. Π― ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠ» ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ DNS Π²Π½ΠΎΠ²Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π».
ΠΠΊΡΡ ΠΏΠΎΠ±Π΅Π΄Ρ
Π― ΠΏΠ΅ΡΠ΅ΡΠ»Π°Π» ΠΌΠΎΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ Π²ΡΡΠ»Π°Π»
Π‘ΡΠΎΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ»ΡΡΠ°ΠΉ ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ΅Π΄ΠΊΠΈΠΌ, ΠΈ ΠΊ ΡΡΠ°ΡΡΡΡ ΠΊ Π½Π°ΠΌ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π΄ΠΊΠΎ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com