=== ch07.docx
[chap]7́@ʓIȏʑwvgR

̏͂ł́AX̃vgR̋@\ƁÃvgRWiresharkłǂ̂悤Ɍ邩ɂČĂ܂Bł͍łʓIȏʑwi7wjvgRłDHCPADNSAHTTP3ɂĐ܂B

DHCP
̂̃lbg[Nł́Albg[NŒʐMs΁A@ɎƂŃAhX蓖ĂKv܂Blbg[Ng傷ɂA̎Ƃ̏͂܂ʓ|Ȃ̂ւƂȂĂ܂B̖邽߂ɊJꂽ̂Albg[Nɐڑ@ɎIɃAhX蓖ĂBOOTPiBootstrap ProtocoljłB̂BOOTṔAꂽDHCPiDynamic Host Configuration ProtocoljɂĒu܂B
DHCṔA@킪IIPAhXiDNST[o⃋[^Ȃǂ̑̏dvȃlbg[ÑAhXj擾ł悤ɂAAvP[VwvgRłBDHCPT[ôقƂǂ́Albg[ÑftHgQ[gEFCDNST[õAhXƂNCAgɒ񋟂Ă܂B

DHCPpPbg\
DHCPpPbǵAʂ̏NCAgɒ񋟂܂B}7-1Ɏ悤ɁADHCPpPbgɂ͈ȉ̃tB[h܂B

IyR[hiOpCodej@pPbgDHCPvDHCP܂
n[hEFA^Cv@n[hEFAAhX̃^Cvi10MBC[TlbgAIEEE 802AATMȂǁj
n[hEFAAhX@n[hEFAAhX̃AhX
zbv@DHCPT[o̔⏕郊[G[WFggp܂
gUNVID@vƉ΂ɂ邽߂Ɏg郉_Ȑ
oߕb@NCAgDHCPT[oɃAhXvĂ̕b
tO@DHCPNCAg󂯎gtBbÑ^CvijLXgAu[hLXgȂǁj
NCAgIPAhX@NCAgIPAhXiIPAhXtB[h瓾ꂽ́j
蓖IPAhX@DHCPT[o񋟂ꂽIPAhXiŏIIɂ̓NCAgIPAhXtB[hlƂȂ܂j
T[oIPAhX@DHCPT[oIPAhX
Q[gEFCIPAhX@lbg[ÑftHgQ[gEFCIPAhX
NCAgn[hEFAAhX@NCAgMACAhX
T[ozXg@T[õzXgiIvVj
u[gt@C@DHCPgu[gt@CiIvVj
IvV@DHCP̋@\g邽߂ɁApPbg̍\ĝɗp܂

}7-1@DHCPpPbg\
rbgItZbg
IyR[h@n[hEFA^Cv@n[hEFAAhX@zbv
gUNVID
oߕb@tO
NCAgIPAhX
蓖IPAhX
T[oIPAhX
Q[gEFCIPAhX
NCAgn[hEFAAhXi16oCgj
T[ozXgi64oCgj
u[gt@Ci128oCgj
IvV

DHCPXV
DHCP̎ȖړÍAXVŃNCAgɃAhX蓖Ă邱ƂłBXV́Adhcp_nolease_renewal.pcapt@CɎ悤ɁÃNCAgDHCPT[oԂŔ܂BDHCPXV́A}7-2̂悤DISCOVERAOFFERAREQUESTAACKNOWLEDGMENT4ނDHCPpPbgg߁ADORAƂĂ΂Ă܂BꂼDORApPbgĂ݂܂傤B

}7-2@DHCP DORA
DHCPNCAg@DHCPT[oiҒ@p̃XyɃ~XBDCHPɂȂĂ܂Ė:{łł̓XyCĂj

DHCPDISCOVERpPbg
Lv`t@Cŕ悤ɁAŏ̃pPbg0.0.0.068ԃ|[g255.255.255.25567ԃ|[gւƑ܂BȂ0.0.0.0Ȃ̂ƂƁÃNCAgɂ͂܂IPAhXȂłBpPbg255.255.255.255ɑ̂́ÃAhXlbg[NɈˑȂu[hLXgAhXłApPbglbg[Nׂ̂Ă̒[Ɋmɓ͂悤ɂĂ邩łB[DHCPT[õAhXmȂ̂ŁAŏ̃pPbǵA҂󂯂ĂDHCPT[o邽߂ɑ܂B
Packet DetailsyCƁA܂DHCPgX|[gwvgRƂUDPgĂ邱ƂɋCÂ܂BDHCP̓NCAgvM܂ł̑DHCPxɏdĂ邽߂łB܂DHCP͐Mێ@\Ă邽߁AUDPœKȂ̂łBPacket DetailsyCōŏ̃pPbgDHCPZNV𒲂ׂ΁ADISCOVEȐڍׂ邱Ƃł܂i}7-3jB

@WiresharḱA݂łDHCPBOOTPƂĈĂ邽߁APacket DetailsyCł́ADHCPZNV̑Bootstrap ProtocolZNVmFł܂BA{ł́ApPbgDHCPZNVƂĈ܂B
xxxxx
}7-3@ DHCPDISCOVERpPbg

̃pPbgNGXgł̂́A[bZ[W^Cv]tB[h(1)ł邱Ƃ킩܂(1)BNGXgpPbĝقƂǂ̃tB[h͋󔒁iIPAhXtB[h(2)ł悤ɁjA΂悤ɂȂĂADHCPtB[h̃XgɊÂĂ܂B̃pPbg̗v_4̃IvVtB[hɂ܂B

DHCPbZ[W^Cv@̓IvV^Cvu53it-53jvA1Al1ł(3)B̒lDHCPDISCOVERpPbgł邱ƂĂ܂B
NCAgʎq@NCAgvĂIPAhXɂĒǉ񋟂܂B
Requested IPAhX@NCAg蓖Ăė~IPAhX񋟂܂iʂɂ͈ȑOgIPAhXjB
p[^vXg@NCAgDHCPT[o󂯎肽ݒ荀ځȉdvȃlbg[N@IPAhXj̃XgB

DHCPOFFERpPbg
2Ԗڂ̃pPbgIPwb_ɂ͗LIPAhẌꗗ܂܂ĂāÃpPbg192.168.0.1192.168.0.10֑Ă邱ƂĂ܂i}7-4jBNCAgɂ͂܂192.168.0.10̃AhX蓖ĂĂȂ̂ŁAT[o͂܂ARP񋟂ꂽn[hEFAAhXgāANCAgƂ̒ʐM݂܂BʐMłȂ΁Au[hLXg܂B

}7-4@DHCPOFFERpPbg

2Ԗڂ̃pPbǵuIt@[pPbgvƌĂ΂DHCṔAbZ[W^Cvł邱ƂĂ܂(1)BpPbgɂ͂قǂ̃pPbgƓgUNVID܂܂Ă̂(2)Ảvɑ΂̂łƕ܂B
NCAgɃT[rX񋟂邽߂ɁADHCPT[oDHCPOFFERpPbg𑗂܂B̂߃pPbgɂ́ApPbgɂĂ̏ƁANCAgɒ񋟂AhX񂪊܂܂Ă܂B}7-4ł́A[U[iNCAgjIPAhX̃tB[hŁAIPAhX192.168.0.10񋟂Ă܂(3)B[Next Server IP Address]tB[h(4)́ADHCPT[oƃftHgQ[gEFCIPAhXLĂ邱ƂĂ܂B
ŏ̃IvV̓pPbgDHCPOFFERł邱ƂĂ܂(5)B̌ɑIvV̓T[oɂ̂ŁANCAgIPAhXɉAǉ񂪒񋟂邱Ƃ킩܂B񋟂Ă͎̂̂悤ȏłB

ETulbg}XN255.255.255.0
EXVԂ30
EoCfBOlHH5230b
EIPAhX[XԂ1
EDHCPT[oʎq192.168.0.1

DHCPREQUESTpPbg
NCAgDHCPT[o̒ʒm󂯎ƁA}7-5̂悤DHCPREQUESTpPbg𑗂܂B

}7-5@ DHCPREQUESTpPbg

܂IPAhX̎擾vZXĂȂ̂ŁA3Ԗڂ̃pPbgIPAhX0.0.0.0瑗܂(1)BŃpPbǵAʐMłDHCPT[om邱Ƃł܂B
bZ[W^CvtB[h́ApPbgNGXgpPbgł邱ƂĂ܂(2)BLv`t@ĈׂẴpPbgXVvZXɊ܂܂Ă܂A͐Vȗv^gUNVł邽߁AVgUNVIDĂ܂(3)BIPAhX񂪂ׂċ󔒂ɂȂĂƂ_ŁADHCPDISCOVERpPbgƎĂ܂B
IvVtB[h(4)AꂪDHCPREQUESTpPbgł邱Ƃ킩܂BvꂽIPAhX󔒂łȂȂADHCPT[oʎqtB[hɂAhXĂ܂B

DHCPACKpPbg
ŏIiKł́ADHCPT[o͗vꂽIPAhXNCAgDHCPACKpPbgőȀ}7-6̂悤Ƀf[^x[XɋL^܂B

}7-6@ DHCPACKpPbg

ŃNCAgIPAhX蓖ĂAʐMn߂邱Ƃ\ɂȂ܂B

DHCP In-LeaseXV
DHCPT[o[IPAhX蓖Ă邱ƂANCAgɃ[Xi݂ojƂ܂B܂NCAg͊IPAhXgpłAgpꍇ̓[X̍XVKvɂȂ܂BqDORAvZX́ANCAg߂IPAhX擾ꍇA[X؂ĂꍇɋN܂B[X؂ĂƂ݂Ȃ܂B
IPAhX[X̃NCAgċNƁAIPAhXĐ邽߂DORAvZX̊ȗłsȂ΂Ȃ܂B̃vZXin-leaseXVƌĂт܂B
[XXVł́ADHCPDISCOVERYpPbgDHCPOFFERpPbg͕svłB[X؂XVłDORAvZXƓȂ̂łAin-leaseXVłREQUESTACKpPbg̃XebvKv܂Bin-leaseXṼTṽLv`t@Cdhcp_inlease_renewal.pcapɂ܂B

DHCPIvVƃbZ[W^Cv
DHCP̏_́AIvVɂ܂B̂ƂȂ傫e푽lɂ킽Ă܂BpPbgŜ̑傫́AgpIvV̑gݍ킹ɂĕςĂ܂BDHCPIvV̊SȃXgɂẮAhttp://www.iana.org/assignments/bootp-dhcp-parameters/QƂĂB
ׂĂDHCPpPbgɕK{ƂȂB̃IvVAbZ[W^CvIvViIvV53jłB̃IvV́ApPbgɊ܂܂ADHCPNCAg܂̓T[oǂ̂悤ɏ邩ʂ܂B\7-1̂悤ɁAbZ[W^Cvɂ8ނ܂B

\7-1@DHCPbZ[W^Cv
^Cvԍ@bZ[W^Cv@@
DISCOVER@NCAggp\DHCPT[o邽߂̃bZ[W
OFFER@NCAgT[o֑DISCOVERpPbgւ̉bZ[W
REQUEST@NCAgT[o֑p[^vbZ[W
DELINE@NCAgT[o֑p[^ʒmbZ[W
ACK@T[oNCAg֑ݒp[^񋟃bZ[W
NAK@NCAgT[o֑ݒp[^̎擾ۃbZ[W
RELEASE@NCAgT[o֑郊[X̃LZbZ[WBݒp[^̃[Xɂčs
INFORM@NCAgłIPAhX擾ĂꍇAݒp[^NCAgT[oɗv郁bZ[W

DNS
DNSiDomain Name Systemj́AC^[lbgvgR̒łƂdvȂ̂̂ЂƂłBDNSwww.google.comȂǂ̂悤ȃhCA74.125.159.99̂悤IPAhXɕϊ܂BʐMlbg[N[IPAhX킩ȂꍇAhCŃANZX邱Ƃł܂B
DNST[oIPAhXƃhC̕ϊ}bvłu\[XR[hvƂf[^x[XANCAg⑼DSNT[oƋLĂ܂B

DNSpPbg\
}7-7番悤ɁADNSpPbg\́AqpPbg^CvƂ͎኱قȂ܂BDNSpPbg̃tB[ĥ͎悤ɂȂĂ܂B

DNS IDԍ@DNSNGDNSX|X֘AÂĂ܂B
QRiQuery/Responsej@pPbgDNSNGȂ̂AX|XȂ̂\Ă܂B
OpCode@bZ[WɊ܂܂Ɖ̃^Cv`܂B
AAiAuthoritative AnswersjpPbgł̒lZbgꂽꍇAhCɌЂ̂l[T[ỏł邱Ƃ܂B
TCiTruncationjăpPbgɎ܂Ȃ߁AX|X؂߂ꂽƂӖ܂B
RDiRecursion DesiredjNGɂ̒lZbgĂƁAړĨl[T[oɗv񂪂ȂꍇADNSNCAgċANGv܂B
RAiRecursion AvailablejX|Xɂ̒lZbgĂƁAl[T[oċANGɑΉ܂B
ZiReservedjׂ0ɃZbg邱ƂARFC 1035Œ`Ă܂BRCodetB[h̊gƂėpꍇ܂B
RCodeiResponse CodejDNSX|XŎgAG[̗L܂B
Question Count@QuestionZNVɊ܂܂Ă鎿␔B
Answer Count@AnswerZNVɊ܂܂Ă񓚐B
Name Server Count@AuthorityZNVɊ܂܂Ăl[T[o\[XR[h̐B
Additional Records Count@Additional InformationZNVɊ܂܂Ă邻̑̃\[XR[h̐B
QuestionZNV@DNST[oɑ̂Pȏ̃NG܂މϒZNVB
AnswersZNV@NGɉ񓚂1ȏ̃\[XR[h܂މϖ@ZNVB
AuthorityZNV@vZXp̂ɗpł錠Ђl[T[oӖ郊\[XR[h܂މϒZNVB
Additional InformationZNV@NG̉񓚂ɕK{ł͂ȂNGɊ֘Aǉ\[XR[h܂މϒZNVB

}7-7@DNSpPbg\
DNSl[VXe
rbgItZbg
DNS IDԍ@QR@IyR[h@AA@TC@RD@RA@Z@RCode
Question Count@Answer Count@
Name Server Count   Additional Records Count
QuestionZNV@AnswersZNV
AuthorityZNV@Additional InformationZNV


VvDNSNG
DNS̓NG^X|X̌`ŋ@\܂BhCIPAhXɕϊNCAgDNST[oɃNG𑗂AT[o̓X|XƂėvꂽԂ܂BLv`t@Cdns_query_response.pcap番悤ɁAƂȒPȏꍇÃvZXɕKvȂ̂2̃pPbĝ݂łB
}7-8Ɏ悤ɁAŏ̃pPbǵANCAg192.168.0.114T[o205.152.37.2353ԃ|[giDNS̕W|[gjɑꂽDNSNGłB

}7-8@DNSNGpPbg

̃pPbg̃wb_𒲂ׂƁADNS܂UDPgĂ̂킩܂(1)B
pPbgDNSƁAŏ̂ق̏ȃtB[hAЂƂ̃tOZNVւƂ܂Ƃ߂Ă̂킩܂B̃ZNVJƁAbZ[WJbgĂȂWIȃNGł(2)AċAvĂ邱Ƃ킩܂iċAɂĂ͌Ő܂jBʂł̂́AQueriesZNVJƌЂƂ̎₾łBł́Awireshark.orgɂẴzXgi^CvAjC^[lbgiINjAhX̃NG邱Ƃł܂(3)B܂肱̃pPbǵuwireshark.orghCɊ֘AIPAhX́HvƐq˂Ă킯łB
̃NGXgɑ΂郌X|XA}7-9Ɏ2Ԗڂ̃pPbgłB̃pPbgɂ͓IDԍtĂ̂(1)ANGɑ΂鐳񓚂܂܂Ă邱Ƃ킩܂B

}7-9@DNSX|XpPbg

FlagsZNV́AꂪX|XłAKvł΍ċA\ȂƂĂ܂(2)B̃pPbgɂ͎₪1ƃ\[XR[h1܂܂Ă܂(3)Bƍ킹čŏ̎₪Ă邩łBAnswersZNVJƁAwireshark.orgIPAhX128.121.50.122Ƃ񓚂܂(4)BNCAg͂̏ƂɁAIPpPbg𐶐Awireshark.orgƂ̒ʐMJn邱Ƃł܂B

DNS Question^Cv
DNSNGƃX|XŎg^CṽtB[h́ÃNG܂̓X|X̃\[XR[h^CvĂ܂B悭g郁bZ[W^\[XR[h̃^Cv̈ꕔ\7-2ɂ܂Ƃ߂܂Bʏ̃gtBbNі{ł̃^Cvڂɂł傤B

\7-2@ʓIDNS\[XR[h^Cv
l@^Cv@
IPv4zXg̃AhX
̃hCǗl[T[o
zXg̕ʖiGCAXj
̃hC̃[T[o
eLXg
Ipv6zXg̃AhX
][]
t][]

\7-2͊SȃXgł͂܂BׂĂDNS\[XR[h^CvɂẮAhttp://www.iana.org/assignments/dns -parameters/QƂĂB

DNSċA
DNS̊KwIȍ\̂߁ANCAg瑗ꂽNGɉ񓚂ɂ́ADNST[o݂͂ɒʐMKv܂BDNST[óA[J̃CglbgT[õhCIPAhXΉ}bsOĂ܂AGoogleDellɊ֘AIPAhX͌ł܂B
DNST[oIPAhXꍇÃNGXgNCAg̑㗝ƂĕʂDNST[oɖ₢킹܂BDNST[oNCAĝ悤ɍs邱̃vZXuċAvƌĂт܂B
DNSNCAgDSNT[o̗̎_ċAvZX邽߂ɁAdns_recursivequery_client.pcapt@CJ܂傤B̃t@Cɂ́ANCAgDNSgtBbNt@CLv`2̃pPbg܂܂Ă܂Bŏ̃pPbǵA}7-10Ɏ悤ɁADNSNCAg172.16.0.8ADNST[o172.16.0.102ւƑꂽŏ̃NGłB
̃pPbgDNSJƁAꂪwww.nostarch.comƂDNS(1)A^CvR[h́AWNGł邱Ƃ킩܂BFlagsZNVJ΂̃pPbgɂĂ̏ڍׂ킩AċAvĂ邱Ƃ܂(2)B
2Ԗڂ̃pPbǵA\zʂŏ̃NGɉ̂łi}7-11jB
̃pPbg̃gUNVID̓NGIDƈvĂ(1)AG[Ȃ̂ŁAwww.nostarch.com֘AA^Cṽ\[XR[h󂯎邱ƂɂȂ܂(2)B

}7-10@ċAvrbgZbgꂽDNSNG

}7-11@DNSNGX|X

̃NGċAɂĉ񓚂̂B̕@́Adns_recursivequery_server.pcapt@C番悤ɁAċAsĂƂDNST[õgtBbN҂󂯂邱ƂłB̃t@ĆANG쐬ꂽƂ̃[JDNST[õgtBbNLv`̂Ă܂Bŏ̃pPbg͐قǃLv`t@CŌNGƓłBDNST[o̓NG󂯂ƂA[Jf[^x[XƏƉ܂ADNSinostarch.comjƈvIPAhX͉Ƃ̓܂łBpPbgɂ͍ċAvrbgZbgĂ̂ŁADNST[o邽߂ɂقDNST[oɖ₢킹Ă̂A2Ԗڂ̃pPbg番܂B
2Ԗڂ̃pPbgł́A172.16.0.102DNST[o4.2.2.1ɐVȃNG𑗂Ă܂ÃT[o͐}7-12̂悤ɁAv]悤ݒ肳Ă܂B̃NG̓IWĩ~[łADNST[oNCAgւƕς܂B

}7-12@ċANG

قǂ̃Lv`t@CƂ̓gUNVIDقȂ邽߁AꂪVȃNGł邱Ƃ킩܂BT[o4.2.2.1̃pPbg󂯎ƁA[JDNST[o}7-13̂悤ɉ󂯂Ƃ܂B

}7-13@ċANGւ̃X|X

󂯎ƁA[JDNST[o4ڂ̍Ō̃pPbgAvꂽƂƂDNSNCAgɓ]܂B
̗ł͍ċA1񕪂Ă܂񂪁A1DNSvōċAxs邱Ƃ܂BłDNST[o4.2.2.1񓚂󂯎܂ÃT[o邽߂ɁAق̃T[oɌJԂNG]ꍇ܂BЂƂ̊ȒPȃNGŏIIɐ܂łɁAE邱Ƃ̂łB}7-14͍ċANG̃vZX}Ă܂B

}7-14@ċANG
DNSNCAg@[JDNST[o@ODNST[o
ċANG@NGX|X@ċANG@NGX|X

DNS][]
DNS][Ƃ́ADNST[oǗCꂽOԁi܂DNS̃O[vjłBɁuG}̃_Ci[vAemmasdiner.comǗDNST[oĂƂ܂傤B̏ꍇAemmasdiner.comIPAhXƉ悤ƂъO̒ʐM@́Ã][ɌDNST[oɃR^NgKv܂BG}̃_Ci[傫ȂADNSOԂ̃[ړÎ݂̂߂Ɂimail.emmasdiner.comƂĂ܂jA2ԖڂDNST[oǉꍇÃT[o̓[̃TuhCɌƂɂȂ܂B}7-15̂悤ɁATuhCƕKvɂȂ΁ADNST[oǉ邱Ƃł܂B
][]́A2̋@̊ԂŃ][f[^̓]sꍇɗp܂BƂΕDNST[ogDł́AǗ͒ʏAvC}DNST[o_EꍇɔADNS][̃Rs[ێZJ_DNST[oݒ肵Ă܂B][]ɂ2ނ܂B

t][]iAXFRj
2̋@ԂŃ][Ŝ]B
][]iIXFRj
][̈ꕔ݂̂]B

t@Cdns_axfr.pcapɂ́A2̃zXg172.16.16.164172.16.16.139Ԃ̃t][]̗Ⴊ܂܂Ă܂B
̃t@Cn߂ČƁAUDPpPbgł͂ȂTCPpPbgĂ̂ŁAt@CJǂYނm܂BDNSUDPgĂ܂A][]Ȃǂ̈ꕔ̃^XNɂĂTCPg܂Bʂ̃f[^]ꍇATCP̂قMxłB̃Lv`t@C̍ŏ3̃pPbǵATCP3EFCnhVFCNłB

}7-15@DNS][͖OԂɂĐӔCS

4ڂ̃pPbǵA172.16.16.164172.16.16.139Ԃ̃][]vŎn܂Ă܂B̃pPbgɂDNS͊܂܂Ă܂Buč\zPDUTCPZOgvƂ邵Ă̂́A][]vpPbgőꂽf[^ÃpPbgőꂽ߂łB4Ԗڂ6Ԗڂ̃pPbgɃpPbg̃f[^܂܂Ă܂B5΂߂̃pPbg4Ԗڂ̃pPbg󂯎ƂACKpPbgłBpPbĝ悤ɕ₷`ŕ\̂AWireshark̋@\̂ЂƂłB}7-16Ɏ悤ɁAł6Ԗڂ̃pPbgSDNS][]vƂĎQƂł悤ɂ܂B
][]v͕WIȃNGł(1)AЂƂ̃R[h^CvvAXFR^Cvv܂(2)B܂T[oDNS][Ŝ󂯎낤Ƃ킯łBT[o͐}7-17̂悤ɁA][R[h̊܂܂ꂽ7Ԗڂ̃pPbgŉ܂B][]ł͂Ȃ̗ʂ̃f[^肳܂A̓Vvȗ̂ЂƂłB][]ƁATCPeBA_EvZXŏI܂B

}7-16@DNSt][]v

}7-17@DNSt][]̎s

x@][]Ɋ܂܂f[^ԈlԂ̎ɓnƔɊ댯łBDNST[o񋓂邾ŁAlbg[NŜ̃Ct}bsOłĂ܂łB

HTTP
HTTPiHypertext Transfer Protocolj́AWorld Wide Web̓]JjYłAWebuEUWebT[oɐڑWeby[W{ł悤ɂ܂B̑gDł́AHTTP̃gtBbNʂƂȂĂ܂BGoogleŌATwitterŃcC[gA邢̓P^bL[w̃oXPbg̓_ESPN.comŃ`FbN肷xɁAHTTPgĂ̂łB
HTTP]̃pPbg\͌܂B̃pPbg̒g͖ړIɂĂȂ̂΂邽߁Ã`FbN͓ǎ҂ɂC܂BłHTTP̎pIȃAvP[VĂ܂傤B

HTTPŃuEY
HTTPWebuEUgWeby[WuEŶɂƂ悭p܂BLv`t@Chttp_google.pcaṕATCPgX|[gwvgRƂėpHTTP]Ȃǂ܂ł܂BʐM̓NCAg172.16.16.128ƁAGoogleWebT[o74.125.95.104Ƃ̊Ԃ3EFCnhVFCNŎn܂܂B
ʐMmƁAHTTPƂ邵̂ŏ̃pPbgA}7-18̂悤ɃNCAgT[oւƑ܂B

}7-18@ŏHTTP GETNGXgpPbg

HTTPpPbgTCPʂāAHTTPʐM̕W|[gł80ԃ|[g֑܂(1)i8080Ԃ悭g܂jB
HTTPpPbg8̈قȂ郁\bĥǂł邩ŎʂiHTTPdl1.1Œ`Ă܂jAɂăpPbg̑̃ANV܂܂B}7-18ł́ApPbg̃\bhGETŁAURINGXg/ŎĂANGXgo[WHTTP/1.1ƂȂĂ܂(2)B̏񂩂ANCAgHTTP̃o[W1.1gĂWebT[õ[gWebfBNgi/j̃_E[hiGETjNGXgĂ邱Ƃ܂B
ɁAzXg͎̏WebT[oɑ܂Bɂ͎gĂ郆[U[G[WFgiuEUjAgp⌾iAccept-LanguagejAcookieȂǂ܂܂܂BT[o͂̏𗘗pāANCAgɂǂ̃f[^߂𔻒f܂B
T[o4Ԗڂ̃pPbgHTTP GETNGXg󂯎ƁATCP ACKŉA6Ԗڂ11Ԗڂ̃pPbggėvꂽf[^̓]Jn܂BHTTP̓NCAgƃT[oԂ̃AvP[VwR}h̔ŝ݂Ɏgp܂Bf[^]̒iKɂȂƁAf[^Xg[̍ŏƍŌȊÓAAvP[VwRg[͌ȂȂ܂B
}7-19̂悤ɁAT[õf[^6Ԗڂ7Ԗڂ̃pPbgőANCAg̉8Ԗڂ̃pPbg8A9Ԗڂ10Ԗڂ̃pPbgƂăf[^]āAЂƂ̊mF11Ԗڂ̃pPbgƂđ܂Bf[^]HTTPsĂ܂AWiresharkł͂̃pPbgׂ͂HTTPpPbgł͂ȂATCPƂĕ\܂B

}7-19@NCAguEUWebT[oԂTCPf[^]

f[^]ƁAč\zꂽf[^Xg[}7-20̂悤ɑM܂B

}7-20@R[h200̍ŏIIHTTPpPbg

HTTP͂炩ߒ`ꂽR[h̔ԍpăNGXg\bȟʂ܂B̗ł͉R[h200Ȃ̂(1)ANGXg\bhƂӖĂ܂B܂pPbgɂ́A^CX^vƁARec̈ÍWebT[õp[^ݒɊւǉ܂܂Ă܂BNCAg̃pPbg󂯎ƁAgUNV܂B

HTTPŃf[^POST
WebT[of[^_E[hvZXĂ̂ŁAx̓Abv[hقĂ݂܂傤Bt@Chttp_post.pcapɂ́A[U[WebTCgɃRg𓊍eƂAɃVvȃAbv[h̗Ⴊ܂܂Ă܂Bŏ3EFCnhVFCN̂ƁANCAgi172.16.16.128j́A}7-21̂悤ɁAWebT[oi69.163.176.56jHTTPpPbg𑗂܂B

}7-21@HTTP POSTpPbg

pPbgPOST\bhg(1)WebT[oɃf[^Abv[h܂BŎgĂPOST\bhURI/wp-comments-post.php(2)ƁAHTTP1.1 Request versionw肵Ă܂B|Xgꂽf[^̓eɂ́ApPbgLine-based Text Data̕J܂(3)B
POSTŃf[^]ƁAACKpPbg܂B}7-22̂悤ɁAT[o͉R[h302(1)A܂u܂vƂ6Ԗڂ̃pPbg߂܂B

}7-22@HTTPR[h302̓_CNgɎg

R[h302́AHTTPł͒ʏ탊_CNg܂B[Location]tB[hANCAg̃_CNgĂ܂(2)Bł͂̃_CNg悪ARgeꂽŏWeby[WƂȂĂ܂BŌɃT[oXe[^XR[h200𑗂Ay[W̃Rec̃pPbggē]āA܂B

܂Ƃ
̏͂ł́AAvP[Vw̃gtBbN𒲂ׂۂɖڂɂAƂʓIȃvgRЉ܂B̌ɑ͂ł́Aۂ̂܂܂ȃViIʂāAVvgRɂĊwԂƂƂɁA{͂ŐvgR̂̂ق̋@\ɂĐĂ܂B
X̃vgRɏڂm肽΁A֘ARFCǂނA܂́uTCP/IP GuideviCharles KozeriokANo Starch Press@2005NjQƂĂB܂t^̃XgQlɂȂ܂B

