ααΈ Google Blog Editorα ααΎα’αααααααΆαααααααααΆααΎαα·ααααα Google Cloud Technical Solutions (TSE) αααααααΆαααααΎαααα½αααααα’ααααααΆαααΌα
ααααα
? αα·ααααααααα½ααα
αα
ααααα TSE ααα½ααα»αααααΌααααα»αααΆααααααα’ααααααααΆα αα·ααααααααΌαααααααααααα αΆαααααΆαααΆααααααα’αααααααΎααααΆααα αααα αΆααΆααααααα½αα
ααα½αααΊααΆααααααΆαα ααα»αααααααααααα’ααααα½αααααααααα»ααααααααΆαααΆαααΆαααα
α·ααααα»αααΆααααΈαα·αααααααΆα
αααΎαααΆαααααα»αααααααα½αα αα
αααα»αα’αααααααα αα»ααααα·α TSE ααααΆααααΉαααααΆααααΎαα’αααΈαααα αΆααααααΆααα½αααΈααΆαα’αα»ααααααααΈααααααααααΆαα -
ααΆααααααααΆααααα αΆααΊααΆαα·ααααΆααΆααααα αα·ααα·ααααα ααΆααΆααα’ααα
αΆααααααΎαααΆαα½αααΉαααΆααααΆααααααα·ααααα’αααΈα ααα»αααααααΆααα₯αα·ααΆαααα·ααααααααΆααααααααααααααααΆααααΈαααααΆααααΌαααΆαααΆααααααααααΆαααααααΆααα ααααααΆαααΆααααα αα»αααΉαααΎααααααΎααααααα·αααα ααΎαααααΌααααααα²ααααΆαα
αααΆααααΆαα αα·αααααααααα αΆα²ααααΆαα
αααΆααααΆααα ααααα·αααΎαααα½αααααΆαααα
αα·αα
αααΆααααΆαα αααα’αααααΉαααααΌααα·ααΆαααααααααΆαααααααα»αααααααααα αααααΊααΆ "αα·αααα" ααααΆααααααααΆααααα αΆα
αα
ααααα Google Cloud ααααΎαααΆαααααααααΆαααααααα»αααααααΆαααΆααα»α αααααΆα Google Cloud ααααΆααΆαα’ααααΈαααααααΆαααΎααααΈααΆααΆααΆαα―αααααααα’αααααααΎααααΆααααααααΆα αααααΆαααααα αα·ααααα TSE αα·αααΆααα·αααα·α
αΌαααααΎααΎααααΈααααααα½αααααααααααααα’ααα α αΎααααα·αα’αΆα
ααΎαααΆααααααααΆαααΌααααΌααΆαααΌα
α’αααααααΎααααΆαααααα ααΌα
αααα ααΎααααΈααΆααααααααααα·ααααααΆαα½αααααααΎα ααΎα (αα·ααααα) αα·αα’αΆα
ααααααααααααααααΆαααΆαααα αααααααα
α’αααααααΎααααΆαααα½αα ααα½αααΏααΆ ααΎαααΉααα½ααα»αα’αααΈαααααααααΆαααΌα ααΆααααΆαα·α αα αααα»αααααΆαααααααααα α αΎαααααΆααααααααΎααααααααΆαααααΆαααΈααα·αααα·αααααΎα α ααααα―ααΆααα·α ααααΎαααΆαααΎαα‘αΎααααα»αααααααααααααΆα ααΆααααααΌαααααααΆα αααααΎα αα·ααααααΆαα (α¬ααα·ααα) αααααα·ααααα α αΎααα ααΈαααα αα αααα αΆααΆααααααα α α·αααααΊααα’ααααΎααΆαααααΆαααααααΆααααααΆαα½αα’αα·αα·ααα
αααα αΆαα αααα»ααααα½α
αααααααααΎαααΆαααΏααα½ααααααΆαααΆααααα
ααααααα’α α ααα»αααα½ααααα»αα
ααααα ααα»αααααααΆααααΆααααααααΆααααααααααααααααΈαααααΆαααααΎα‘αΎαααΊααΆααΆααα·αααααΆαααα’α·α αα·αααααΉαααααΌααααααα αΆα ααΆααααααα’αααα’αΆα
ααΎαα
αααΆααα
αααααααααα»αααααΈαα½α (ααααααα½αααΎααααΈααΆααααααααΆααααααΆαα)α
ααΆααααααΆαααααααΆαααΆαααααααααααΆα
αααΎααααααΆααααΎαα
- αααααΆαα VM ααΆααααΆαα
- αααα αΆαααα½αα―αααααΌαααΆαα ααα’α»ααααα αΆα - DNS αα·αααααΎαααΆαααα
- ααΆααααΌαααΆαα ααα’α»ααααα αΆαααααααααααααα αΆαααα αΆαααααααα½αααΆ - VM αα·ααα»αααΊααα
- ααα αΆααααα’αααααααΎααααΆααααΆαααααΎααΎααααΈααααααααα αΆααααΌαααΆαα ααα’α»ααααα αΆαα
ααααΎαααααααΌαααΆαα
α»ααααααΈααΆ "P1: αααααααΆααααααΆαα - ααααΆαααααα·αα’αΆα
ααααΎααααΆααααΆααααα»αααα·ααααα" αααααΆααααααΆααΆααααα½ααα·αα·αααααΆαααα
αΆαααααααΆαααΆα 24/7 αααααΆααααααααΆααα "ααααΎααΆαααααα’αΆαα·ααα" (α’αααα’αΆα
α’αΆαααααααα’αααΈ
αα βαααβαααα»αααβαα βααα Zurich ααΎαβααΆαβααααααΆαβααΆαβαααααβαα½α βα αΎαα
- ααΆαα·ααΆ
/etc/hosts
- ααΆαα·ααΆ
/etc/resolv.conf
- ααα
ααααΈααααα·ααααΆα
iptables-save
- αααααΌααααα»αααααααα»α
ngrep
α―αααΆα pcap
ααΆαα½αααΉααα·ααααααααα ααΎαααΆαααααααααα½ααα½α ααΆααααα ααΎααααΈα αΆααααααΎα "ααΆααααΎαα’ααααα" αα·αααααΆααααΆααααααααΆααααα αΆα
ααα αΆαααααΌαααααααΎαα
ααΆααααΌα ααΎαααΆααα·αα·ααααααααα ααα» αα·αααααΆαααΆααααααααΆαααΈααααα·ααααααααααΆ α αΎαααααΌαααααΆααααΆααΆααααΎαααΆαααΆαααααΉαααααΌαα αααΆαααΈααααα·ααααααααααΆααααΎααααα ααΉαα’αΆααααααΆα IP 169.254.169.254 α αΎααααα»αα αααααααααααααααα ααα½ααα»αααααΌαα ααααααΆααααααααααααααααααα ααΎαααααΆααα·αα·αααααΈαααααΆαααααΆααααααΎαααααΎαααΆαααααΉαααααΌαααΆαα½α VM αα·ααα·ααααααααΆαααααα ααααααααΆαα
ααΆααΆαααααααααααα αΆα αααααα½αα ααα½αα ααΆααααα½ααα·αα·ααα nmap ααΆαααα·ααααααααα·ααααα ααααααααααΎαα’αααΈααΆαααΆααααααααα ααααααααΆα UDP ααΌα ααααααΎαααΆααααααΎααααααΎα αα·ααα·ααΈααΆα αααΎααααααΎααααΈαα·αα·ααααα½αααΆααααααααΆααααΆαααΈα
- ααΎαααα ααααααΌαααΆααααααΆαααααααααΎαααΎααα? => αα·αα·αααααΎαα αααΆαα iptables
- ααΌα
αααα’αα?
αα»αααα ? => αα·αα·αααααααααip a show
- ααΎαααα αΆαααααΆααααααααααα
αα UDP α¬ TCP αααα¬αα? => ααΎαα‘αΆααα
ααααΆα
dig +tcp
- ααΎβαααα
ααβα―αααΆαβαααβαααααΎαβα‘αΎαβααΆαβαααα‘ααβααβαα·αβαα? => ααΎαα‘αΆααα
ααααΆα
tcpdump
- ααΎ libdns ααααΎαααΆαααααΉαααααΌααα? => ααΎαα‘αΆααα
ααααΆα
strace
ααΎααααΈαα·αα·αααααΎαααΆααααααΌααααα ααααααααΆααααα»ααα·ααα ααΆααααΈα
αα ααΈαααααΎααααααα α α·αααα α α’αααααααΎααααΆααααΎααααΈαααααααΆααααα αΆααααΆααα
αααα»αα’αα‘α»ααααα α ααΌααααα ααΎαα’αΆα αα·αα·αααααΎαααΏαααΆα αααΎαα
- αααααΆααααΈααΆααααα½ααα·αα·αααααΆα αααΎααα ααΎαααα αααΆαα iptables α ααααΈαααααΈααΌαα ααα»
- ααΎααα·αα·αααααΎαα ααα»α αααααΆαααααααΆα αα·αααΆααΆαααΆαααααΌα α αΎααα·αα·αααααΈαααααΆ MTU ααααΉαααααΌαα
- ααΎαααααΎααααα
dig +tcp google.com
(TCP) ααααΎαααΆαααΌα αααααΆαα½ααα ααα»ααααdig google.com
(UDP) αα·αααααΎαααΆαααα - αααααΆαααΎαα‘αΆααα
ααααΆα
tcpdump
ααΆαα ααααααΎαααΆαdig
ααΎαααααΎαααΆαααα αα UDP αααα»αααααΌαααΆααααααΌααααα·α - ααΎαααΎαα‘αΆααα
ααααΆα
strace dig google.com
α αΎαααΎαααΎαααΈααααααΈαααΆαααααΉαααααΌααsendmsg()
ΠΈrecvms()
ααααααΆαααΆααααα ααΈααΈαααααΌαααΆαααααΆααααααΆαα’ααααα
ααΆα’αα»αα α α»ααααα ααααααΆαααααΆααααααΌαααΆαααααα α αΎαααΎαααααΌαααΆααααααααα±αααααααΎααααα αΆαα ααααααααααααΆαααααΆααα αααααΆαααΆαααΆααααα ααααΎαααααΆαααααΎα±ααααΆαααΆαα αΆααα’αΆαααααααα αααα»ααααα»αααααααΎα α αΎααα αααα·αααααΆααααΆαααααΎα±αααααααΎααααα αα DNS ααααΌααααααααΎαααΌαα»α Python αααααΌα α
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 ααααΌαααΆααααααααααα·α α αΎααααααα·ααΈααα½αααΆαααΆ ααααααααΆααααΆαα·αααΆααααα αΆαα ααααα·ααααααΆαααα
αααααΆααααΈ "ααααΎααααααΆααααα»ααα·ααα·ααααα" αα½ααααααααα ααααΎαααα‘αααα αααα»αααααααΎα α αΎααααα»ααααααααΆααΆαααααα»ααα αααα½ααααα»α ααααα·αααΆααΆααΉαααΆααααααΆααααα½ααααααΆααα’αααααααΎααααΆαα ααααα·αααΎααααΎαααααααΎααααααααΈαααααααα½ααα αααααααα½αα
αααα»ααααααΆαα½αααααΆααα α’αααααααΎααααΆααααααααααααααααΌαααΆαααααΌαααΆαααααααααα αααααΊααΆααααΉαααα’ααΆααα αααααααΆααααα»αααΆαααΆαααααααααααααααααααα½αα―αααααΎα±ααααΆααααααααΆααααα αΆααΏαααΆααα»αααααααααα»ααααααααΌαααΆαα±ααα’αααααααΎααααΆααααααΎαααΆαααΆααααααααΆααααΎααααααα±αααααα»αα αΎααα·ααΆαααΆαααα»αα’αΆα ααααΎα’αααΈαααααααααΆαααααααα½αα―α!
αα·ααααα½αααΆαααΆααααααααα»αα αΆααααααΎαα ααααααααα»αααααα·α α αααα’αΆα αΆαααααααααα ααΎααα·ααΆααααΆα’αααΈααΆαααααα α·ααα ααα»ααααααααΆαααααΆααααΆααααΉαααΆααΆαα’αααΈααΎαα‘αΎααααααα ααΆααααΆαααα’ α’αααααααΎααααΆαααααα½αα―αααΆαα αΆαααα·ααΆαααΆαααΆααααααααααα·ααΆααα½α α αΎα αα·ααα·ααααααΆαα ααΌα ααααααΎαααΆααααααΎααααΈααααΆααααα αΆα α αΎαβαααααΆαβααΎαβααΆαβααΌαααΆα ααΎαβα’αΆα βααααΎαααΆαβααΆαβααΆαααααβααΆβαα½αβαααβααΎαβα αΆααα’αΆααααααα α’ααα αΆααα!
αααααα αΆαααααααα
αααα½ααααααΆαααααααααα·αααααα»ααα½ααααααΆαααα»αααααααα·αααααααααααααααΊα βααΎααΆαα’αααΈααΎαα‘αΎααα
αααα’ααα ping
αααα»ααααααα α α·αααα’αα»αααααααα½αααααΆαααα»αααααααα ααΉααααα αΆαα αα α»ααααααα αα·ααΆαααΆαα½α αα αααα’αααααααΆααΆααααααααααα DNS αααααΉαααΎαα‘αΎαααΌα ααΆααααααα
- αααααα·ααΈα α αααααΆαααααααααααααΌα ααΆ libdns
- libdns αα·αα·αααααΎαααΆααααααααααααααααααααΆαααΈααα DNS αααααΆαα½αααααΆαααα (αααα»αααααΆααααΆααααααΊ 169.254.169.254 αααΆαααΈααααα·ααααααααααΆ)
- libdns ααααΎααΆαα α ααΆαααααααααααΎααααΈαααααΎααααα UDP (SOKET_DGRAM) α αΎαααααΎαααα αα UDP ααΆαα½αααΉααααα½α DNS αααα»ααα·ααα ααΆααααΈα
- ααΆαααα sysctl interface α’αααα’αΆα ααααααα ααΆαααααααα UDP stack αα ααααα·αααΊααα
- ααΊαααααααΎα’ααααααααααΆαα½ααααααααΉα ααΎααααΈαααααΌααααα ααααααααΆαααΆααααααΆαααΆααααα ααα»α αααααΆαααααααΆα
- Hypervisor α αΆαα αα·ααααααΌααααα ααααααααΆααα αααΆαααΈααααα·ααααααααααΆ αα αααααααΆααααααααΆαα½αααΆα
- αααΆαααΈααααα·ααααααααααΆ ααΆααααααααααααααΆαααααααααα DNS αα·ααααα‘ααααΆαααααΎααααααααααΎαα·ααΈααΆαααααααΌα ααααΆα
αααα»αααΌαααααΉαα’αααααΆ αααααα·ααααα’αααΈαααααΎαααΆααα·α
αΆαααΆαα½α
α αΎαα
αααααα·ααααα αααααΆαααααΌα
- αααααααΈ 1α αααααααααα αααα»ααααααααα αα·αα·αααααΎαααΆ dig α α ααΆαα α ααααααααααααΉαααααΌαα
- ααααααα ααΆαα α ααααααααααααΉαααααΌαααααΌαααΆαα α
- ααΆαααααΎαααααααΈ 2: αααααααΎ srapy ααΎααααΈαα·αα·αααααΎαααΆααΎααΎαα’αΆα αααααααααααααααααααΆαααααααΆααααααααααα
- ααααααα ααΎαα’αΆα ααααΎααΆα
- αααααααΈ 3α ααααΎαααΆα rpm βV αα ααΎαααα αα libdns αα·αα―αααΆααααααΆααα md5sum
- ααααααα αααααΌααααααΆαααααΊααΌα ααααΆααααα·αααΆαααααα»ααα ααΉαααΌααα αααα»αααααααααααααα·ααααα·ααΆα
- αααααααΈ 4α ααααααΌαααΆααααααααα root ααααα’αααααααΎαα ααΎ VM αααααααΆαα₯αα·ααΆααααα ααααΎαααΆα chroot ααΎαααΆααΎ DNS ααααΎαααΆαα¬α’αα
- ααααααα DNS ααααΎαααΆαααΆαααααΉαααααΌαα
ααα ααααΈααααα·ααααΆαααα’ααααΎααΆαααααΎαααααα αααα αΆααΊαα·αααΆααα αααα»ααααααΆαααααα
αααααα·ααααα ααΆαααα α»ααα αααα»αααΆαααααα DNS
- αααααααΈ 1α αα·αα·αααααΎα tcpdump α αΎαααΎαααΆααΎαααα αα DNS ααααΌαααΆαααααΎ αα·ααααα‘ααααααΉαααααΌααααα¬αα αααααΆααααΈααααΎαααΆαααΈα
- ααααααα αααα ααααααΌαααΆααααααΌααααΆαααααΉαααααΌαα
- αααααααΈ α’α αα·αα·αααααΈαααααΎαααΆαααΈααα
/etc/nsswitch.conf
ΠΈ/etc/resolv.conf
- ααααααα α’αααΈαααΊααααΉαααααΌαα
ααα ααααΈααααα·ααααΆαααα’ααααΎααΆαααααΎαααααα αααα αΆααΊαα·ααααααΆαα½αααΆαααααα DNS ααα
αααααα·ααααα ααααΌαααΌα
- ααΆαααααα ααα‘αΎαααΊαααααααΈ αα·αα·αααα αααααααΆ α αΆααααααΎαα‘αΎααα·α
- ααααααα α’αΆαααααα·αα·ααΆααααααααααΆ
ααα ααααΈααααα·ααααΆαααα’ααααΎααΆαααααΎαααααα ααΊααααα·αααΌα ααα
αααααα·ααααα α₯αα·ααΆαααα·αααααΉαααααΌααααααααΆαα’αααααααΎααααΆαα (α¬α ααα»α αααααΆαααααααΆα hypervisor)
- αααααααΈ 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
. αααααααααααΆααΊαα
ααααααααΆαα½ααααα αα 200KiB ααα»ααααααααα·αααΎαααΆαααΈαααααααα’αααααα½αααΆααααα
αα DNS α
αααΎα α’ααααααα ααααΆα
αααααααΎαααα ααααα»αα ααααα·αααΎααα·ααααααα’αΆααααααα αα
αααααααααα
ααααααααΆαααααΈααααα α§ααΆα ααα αααααΆααααααα·ααΈαα·αααααΎαααΆαααΆααΏααααααααααΆαα αααα’αααααΉαα
αΆααααααΎαααΆααααααααα
ααααααααΆαα α’αα·αα·ααααααααΎαααΆααααααΎαααα ααααα»ααα·ααααααα±ααααΆαααααΉαααααΌα αααααΆαααΆααααααΆα
ααΆααααααα·αααααα αααααΆαααΆαααααα»αααααΎαααααα·ααΈαααααΆαααααααΌαααααααααΆαααααααα
αα DNS α ααααααααααΆααααΆααααααααΊα’αα·ααααΆαααα’αΆα
ααααΎαα
ααΆαα 231-1 (ααααα·αααΎααααααα
231 ααΊαααααΉααααα‘αα "ααΆααααααααα·αααααΉαααααΌα")α
ααααΆααααααααα»αααΆαααΉαααΆα ααα»α’αααΈααΆαααΆ nmap αα·α scapy ααααΎαααΆαααΆαααααΉαααααΌαα αα½ααααααα»αααααΎαααααα ! αααααα ααΊαα»αααΈααααααααααΆα αα½αααΆααααααΆαα iptables α αΎαααΆαα·αααΆαααα!
ααα»ααααα ααα»α’αααΈααΆαααΆ "ααα·ααααααα’αΆααααααααα" αααααααα αΆ? ααΆα αααΆααααΆααααΆαα·αααααΎαααΆαααΌα ααααααα
αα α ααα»α ααααααα»αα’αΆα αααααΎααααα αΆαα ααΎααΊαααα αααΎα αα·αααΆαα ααα αΆαα αααΎαα αααα αΆααΆαααα α‘αΎααα ααΎααΊααα 3.x αα½α α αΎα α αΎαα₯α‘αΌααααααΆααααΆαααα α‘αΎααα ααΎααΊααα 5.x αααααα
ααΆααΆααα·ααα αααα αΆααααααΎα
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 (unsigned sixteen-bit int) αα·ααααααΆαα»αααα ααααα ααsk->sk_rcybuf
ααΆαααααα int αα·ααααααΆαα»αααα αααα·ααααααα’αΆαααα αααααΆααα·αααααααΊααααΎααΉαααααααα αααα»αnet.core.rmem_default
αα
ααα sk_rcvbuf
αα·ααα
αα·αααα 231 ααΆαααΌαααα»αααα ααααα
ααααααααΆαα’αΆα
ααα½αααΆααααααα
ααα α»αβα’αΆα
βααααΌαβααΆαβααβαααααΌαβααΆαβαα·ααΈβααΌα
ααΆα
α αααβααΆαβα
αΆαα unsigned int
. αααα»αααΆαα’αα»ααααααΆααα½ααα»α α αΎαα
αΆααααααΎαααααααααα‘αΎααα·α α αΎα DNS ααααΎαααΆααααααααα
ααααΆαα·ααααααααα
αααα»αααΆααααααΌαααΆαααααΎααααααααα»ααα
α’αα·αα·αα α αΎαααααΎ
ααΆααΆαααααααααα»αααΆαααα½αααααΆααααΆααααΈααααααααα ααΆαααα α αΎαααΆααααΆαααα’ααΎαααααααα½αααΆαααααΎαααα»αααααΆαααααααααΈα’αααααααΎααααΆααααΆααα
ααααα: www.habr.com