เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™:

  • เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบš DHCP เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ IPv4
  • เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰ Python (เบซเบผเบฒเบเบเปˆเบงเบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ ๐Ÿ˜‰)
  • เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบŠเบตเบšเป€เบงเบต DB2DHCP (เบชเป‰เบญเบกเบ‚เบญเบ‡เบ‚เป‰เบญเบ), เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš เบ—เบตเปˆเบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เบ™เบฑเบšเบกเบทเป‰เบ™เบฑเบšเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบš OS เปƒเบซเบกเปˆ. เปเบฅเบฐเบ‚เป‰เบญเบเบšเปเปˆเบกเบฑเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบนเปˆเบ—เบตเปˆเบšเปเปˆเบกเบตเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐ "เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ”เบฝเบงเบ™เบตเป‰"
  • เป„เบ”เป‰เบฎเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฅเบทเบญเบเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบœเบนเป‰เบˆเบญเบ‡เป‚เบ”เบเปƒเบŠเป‰ mac เบ‚เบญเบ‡เบœเบนเป‰เบˆเบญเบ‡เบซเบผเบทเบ›เปˆเบฝเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡ mac+port (เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82)
  • เบ‚เบฝเบ™เบฅเบปเบ”เบ–เบตเบšเบญเบตเบเบ„เบฑเบ™เปœเบถเปˆเบ‡ (เป‚เบญเป‰! เบ™เบตเป‰เปเบกเปˆเบ™เบเบดเบ”เบˆเบฐเบเบณเบ—เบตเปˆเบ‚เป‰เบญเบเบกเบฑเบเบ—เบตเปˆเบชเบธเบ”)
  • เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบ„เปเบฒโ€‹เบ„เบดเบ”โ€‹เป€เบซเบฑเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบกเบทโ€‹เบชเบฐโ€‹เป‚เบกโ€‹เบชเบญเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบš Habrahabr (เบซเบผเบทโ€‹เบ”เบตเบโ€‹เบงเปˆเบฒโ€‹เบเบฑเบ‡โ€‹, เบเบฒเบ™โ€‹เป€เบŠเบทเป‰เบญโ€‹เป€เบŠเบตเบ™โ€‹) ๐Ÿ˜‰โ€‹

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš: เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ ๐Ÿ˜‰ เบ—เบปเบ”เบชเบญเบšเปƒเบ™ FreeBSD เปเบฅเบฐ Ubuntu OS. เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบฅเบฐเบซเบฑเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ•เป‰ OS เปƒเบ”, เป€เบžเบฒเบฐเบงเปˆเบฒ เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบฅเบฐเบซเบฑเบ”.
เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡! เบกเบตเบซเบผเบฒเบเบญเบฑเบ™เบ—เบตเปˆเบˆเบฐเบกเบฒ.

เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš repository เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบชเบกเบฑเบเป€เบฅเปˆเบ™ "เบชเปเบฒเบœเบฑเบ”เบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆ".

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบœเบปเบ™เบ‚เบญเบ‡ "เบเบฒเบ™เบชเบถเบเบชเบฒเบฎเบฒเบ”เปเบง" เปเบกเปˆเบ™เบ•เปˆเปเบฒเบซเบผเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เบดเบ”เบชเบฐเบ”เบตเป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบ™เป€เบญเบ‡. เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ” ๐Ÿ˜‰

เบ—เบดเบ”เบชเบฐเบ”เบตเป€เบฅเบฑเบเบ™เป‰เบญเบ

DHCP เปเบกเปˆเบ™เบซเบเบฑเบ‡

เบ™เบตเป‰เปเบกเปˆเบ™เป‚เบ›เบฃเป‚เบ•เบ„เปเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบญเบธเบ›เบฐเบเบญเบ™เบŠเบญเบเบซเบฒเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบกเบฑเบ™ (เปเบฅเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบญเบทเปˆเบ™เป†เป€เบŠเบฑเปˆเบ™: gateway, DNS, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP. เปเบžเบฑเบเป€เบเบฑเบ”เบ–เบทเบเปเบฅเบเบ›เปˆเบฝเบ™เป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™ UDP. เบซเบผเบฑเบโ€‹เบเบฒเบ™โ€‹เบ—เบปเปˆเบงโ€‹เป„เบ›โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบ•เบปเบงโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เปเบกเปˆเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

  1. เบญเบธเบ›เบฐเบเบญเบ™ (เบฅเบนเบเบ„เป‰เบฒ) เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ” UDP (DHCPDISCOVER) เปƒเบ™เบ—เบปเปˆเบงเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เป‰เบงเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป "เบ”เบต, เบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เปƒเบซเป‰เบ—เบตเปˆเบขเบนเปˆ IP เปƒเบซเป‰เบ‚เป‰เบญเบ." เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด (เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบชเบฐเป€เบซเบกเบต) เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบˆเบฒเบเบžเบญเบ” 68 (เปเบซเบผเปˆเบ‡), เปเบฅเบฐเบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡เปเบกเปˆเบ™เบžเบญเบ” 67 (เบ›เบฒเบเบ—เบฒเบ‡). เบšเบฒเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบˆเบฒเบเบžเบญเบ” 67. เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบฅเบนเบเบ„เป‰เบฒเปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบŠเบธเบ” DHCPDISCOVER.
  2. เป€เบŠเบตเบšเป€เบงเบต DHCP เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ (เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบกเบตเบซเบผเบฒเบเป†เบญเบฑเบ™) เบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™เบ‚เปเป‰เบชเบฐเป€เปœเบต DHCPOFFER เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบณเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡ DHCPDISCOVER, เปเบฅเบฐเบญเบญเบเบญเบฒเบเบฒเบ”เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™เบฅเบฐเบšเบธเบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบตเป‰เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเปƒเบœเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบชเบฐเปœเบญเบ‡เปƒเบซเป‰เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เปƒเบ™เบ„เบณเบฎเป‰เบญเบ‡เบ‚เป DHCPDISCOVER.
  3. เบฅเบนเบเบ„เป‰เบฒเบเบญเบกเบฎเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบชเบฐเป€เบซเบ™เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป€เบฅเบทเบญเบเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบชเบธเบ” (เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”, เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ‡), เปเบฅเบฐเป€เบฎเบฑเบ” "เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™" DHCPREQUEST เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบกเบฑเบ™เบกเบฑเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เปเบžเบฑเบเป€เบเบฑเบ”เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบชเบฐเป€เบžเบฒเบฐ.
  4. เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš DHCPREQUEST เบˆเบฐเบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบฎเบนเบšเปเบšเบš DHCPACK, เป€เบŠเบดเปˆเบ‡เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เบฅเบฒเบเบเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบตเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰เบชเบณเบฅเบฑเบšเบฅเบนเบเบ‚เปˆเบฒเบเบ™เบตเป‰.

เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบตเปเบžเบฑเบเป€เบเบฑเบ” DHCPINFORM เบ—เบตเปˆเบกเบฒเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ, เปเบฅเบฐเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเปเบˆเป‰เบ‡เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบงเปˆเบฒ "เบฅเบนเบเบ„เป‰เบฒเบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆ" เปเบฅเบฐเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบญเบ. เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ™เบตเป‰, เปเบžเบฑเบเป€เบเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

เบฎเบนเบšเปเบšเบšเปเบžเบฑเบเป€เบเบ”

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบเบญเบšเปเบžเบฑเบเป€เบเบฑเบ” Ethernet เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ„เป‰เบฒเบเบ„เบทเบ™เบตเป‰:

เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบžเบฝเบ‡เปเบ•เปˆเบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ” UDP, เป‚เบ”เบเบšเปเปˆเบกเบตเบชเปˆเบงเบ™เบซเบปเบงเป‚เบ›เป‚เบ•เบ„เบญเบ™เบŠเบฑเป‰เบ™ OSI, เบ„เบทเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ DHCP:

DHCPDISCOVER

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบฅเบนเบเบ„เป‰เบฒ DHCP เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เบˆเบฒเบเบžเบญเบ” 68 เบซเบฒ 255.255.255.255:67. เปƒเบ™เบŠเบธเบ”เบ™เบตเป‰, เบฅเบนเบเบ„เป‰เบฒเบ›เบฐเบเบญเบšเบกเบตเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบกเบฑเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP. เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบŠเบธเบ”เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ” DHCPDISCOVER

เบ•เปเบฒเปเปœเปˆเบ‡เบขเบนเปˆเปƒเบ™เบŠเบธเบ”
เบŠเบทเปˆเบกเบนเบ™เบ„เปˆเบฒ
เบ•เบปเบงเบขเปˆเบฒเบ‡:
เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต
เป„เบšเบ•เปŒ
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ

1
เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป Boot
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบ„เบงเบฒเบก. 1 - เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, 2 - เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบฅเบนเบเบ„เป‰เบฒ

2
เบ›เบฐเป€เบžเบ”เบฎเบฒเบ”เปเบง
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบง, เปƒเบ™เป‚เบ›เป‚เบ•เบ„เป 1 - MAC เบ™เบตเป‰

3
เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบขเบนเปˆเบ„เบงเบฒเบกเบเบฒเบง
6
Hex
1
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™

4
Hops
1
Hex
1
เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ‡

5
ID เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐ เบเบณ
23:cf:de:1d
Hex
4
เบ•เบปเบงเบฅเบฐเบšเบธเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ. เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป

7
เบชเบญเบ‡โ€‹เบœเปˆเบฒเบ™โ€‹เป„เบ›
0
Hex
4
เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ

9
เบ—เบธเบ‡ Boot
0
Hex
2
เบ—เบธเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™

11
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒ
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ–เป‰เบฒเบกเบต)

15
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ—เบตเปˆโ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบต (เบ–เป‰เบฒโ€‹เบกเบต)

19
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบ•เปเปˆเป„เบ›
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต (เบ–เป‰เบฒเบฎเบนเป‰เบˆเบฑเบ)

23
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™ Relay
172.16.114.41
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™ relay (เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹, เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹)

27
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ
14:d6:4d:a7:c9:55
Hex
6
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ” (เบฅเบนเบเบ„เป‰เบฒ)

31
เปเบœเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบงเบฅเบนเบเบ„เป‰เบฒ
 
Hex
10
เบšเปˆเบญเบ™เบ™เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบนเบ™

41
เบŠเบทเปˆเป‚เบฎเบ”เป€เบŠเบตเบšเป€เบงเบต
 
เบชเบฒเบ
64
เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต DHCP. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เปเปˆ

105
เบŠเบทเปˆเป„เบŸเบฅเปŒ Boot
 
เบชเบฒเบ
128
เบŠเบทเปˆเป„เบŸเบฅเปŒเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบชเบฐเบ–เบฒเบ™เบต diskless เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡

235
เบ„เบธเบเบเบต Magic
63: 82: 53: 63
Hex
4
เบˆเปเบฒเบ™เบงเบ™ "Magic", เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบตเป‰เป€เบ›เบฑเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP

เบ•เบปเบงเป€เบฅเบทเบญเบ DHCP. เบชเบฒเบกเบฒเบ”เป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†

236
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
53
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 53, เป€เบŠเบดเปˆเบ‡เบฅเบฐเบšเบธเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ” DHCP

1 - DHCPDISCOVER
3 - DHCPREQUEST
2 - DHCPOFFER
5 - DHCPACK
8 - DHCPINFORM

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
50
Dec
1
เบฅเบนเบเบ„เป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เปƒเบ”?

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
172.16.134.61
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
55
 
1
เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒ. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™

01 - เปœเป‰เบฒเบเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ
03 - เบ›เบฐเบ•เบนเบฎเบปเป‰เบง
06 - DNS
oc โ€” เบŠเบทเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบš
0f - เบŠเบทเปˆเป‚เบ”เป€เบกเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ
1c - เบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ” (เบญเบญเบเบญเบฒเบเบฒเบ”)
42 - เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต TFTP
79 - Classless Static Route

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
8
 
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:03:06:0c:0f:1c:42:79
 
8

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
82
Dec
 
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82, เป€เบŠเบดเปˆเบ‡เบชเบปเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™ repeater เปเบฅเบฐเบšเบฒเบ‡เบ„เปˆเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบ, เบ™เบตเป‰เปเบกเปˆเบ™เบžเบญเบ”เบ‚เบญเบ‡เบชเบฐเบงเบดเบ”เบ—เบตเปˆเบฅเบนเบเบ„เป‰เบฒ DHCP เบชเบดเป‰เบ™เบชเบธเบ”เปเบฅเปˆเบ™. เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบกเบตเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. byte เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบˆเปเบฒเบ™เบงเบ™ "suboption", เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เบกเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเปˆเบญเบเปเบกเปˆเบ™เบ•เบดเบ”เบขเบนเปˆ:
Agent Circuit ID = 00:04:00:01:00:04, เบšเปˆเบญเบ™เบ—เบตเปˆเบชเบญเบ‡ bytes เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบžเบญเบ”เบฅเบนเบเบ„เป‰เบฒ DHCP เบˆเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบกเบฒ.

Agent Remote ID = 00:06:c8:be:19:93:11:48 - เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เป€เบ„เบทเปˆเบญเบ‡เป€เบฎเบฑเบ”เบŠเป‰เบณ DHCP

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
18
Dec
 

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:06
00:04:00:01:00:04
02:08
00:06:c8:be:19:93:11:48
Hex
 

 
เบชเบดเป‰เบ™เบชเบธเบ”เบŠเบธเบ”
255
Dec
1
255 เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบŠเบธเบ”

DHCPOFFER

เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ”เป‰เบฎเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ” DHCPDISCOVER เปเบฅเบฐเบ–เป‰เบฒเบกเบฑเบ™เป€เบซเบฑเบ™เบงเปˆเบฒเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบˆเบฒเบเบœเบนเป‰เบฎเป‰เบญเบ‡เบ‚เป, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™ - DHCPDISCOVER . เบ„เปเบฒเบ•เบญเบšเปเบกเปˆเบ™เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบ—เปˆเบฒเป€เบฎเบทเบญ "เบˆเบฒเบเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบกเบฒ", เป‚เบ”เบเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”, เป€เบžเบฒเบฐเบงเปˆเบฒ เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบฅเบนเบเบ„เป‰เบฒเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบเบญเบกเบฎเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเบชเบปเปˆเบ‡เป‚เบ”เบเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”. เบฅเบนเบเบ„เป‰เบฒเบฎเบฑเบšเบฎเบนเป‰เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบŠเบธเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบงเป‚เบ”เบเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบฒเบงเบžเบฒเบเปƒเบ™เบŠเบธเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบฅเบฒเบงเบชเป‰เบฒเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบŠเบธเบ”เบ—เปเบฒเบญเบดเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ” DHCPOFFER

เบ•เปเบฒเปเปœเปˆเบ‡เบขเบนเปˆเปƒเบ™เบŠเบธเบ”
เบŠเบทเปˆเบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒ (เบ—เบปเปˆเบงเป„เบ›)
เบ•เบปเบงเบขเปˆเบฒเบ‡:
เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต
เป„เบšเบ•เปŒ
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ

1
เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป Boot
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบ„เบงเบฒเบก. 1 - เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, 2 - เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบฅเบนเบเบ„เป‰เบฒ

2
เบ›เบฐเป€เบžเบ”เบฎเบฒเบ”เปเบง
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบง, เปƒเบ™เป‚เบ›เป‚เบ•เบ„เป 1 - MAC เบ™เบตเป‰

3
เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบขเบนเปˆเบ„เบงเบฒเบกเบเบฒเบง
6
Hex
1
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™

4
Hops
1
Hex
1
เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ‡

5
ID เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐ เบเบณ
23:cf:de:1d
Hex
4
เบ•เบปเบงเบฅเบฐเบšเบธเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ. เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป

7
เบชเบญเบ‡โ€‹เบœเปˆเบฒเบ™โ€‹เป„เบ›
0
Hex
4
เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ

9
เบ—เบธเบ‡ Boot
0
Hex
2
เบ—เบธเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, 0 เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ›เบฐเป€เบžเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡ Unicast

11
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒ
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ–เป‰เบฒเบกเบต)

15
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
172.16.134.61
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ—เบตเปˆโ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบต (เบ–เป‰เบฒโ€‹เบกเบต)

19
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบ•เปเปˆเป„เบ›
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต (เบ–เป‰เบฒเบฎเบนเป‰เบˆเบฑเบ)

23
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™ Relay
172.16.114.41
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™ relay (เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹, เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹)

27
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ
14:d6:4d:a7:c9:55
Hex
6
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ” (เบฅเบนเบเบ„เป‰เบฒ)

31
เปเบœเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบงเบฅเบนเบเบ„เป‰เบฒ
 
Hex
10
เบšเปˆเบญเบ™เบ™เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบนเบ™

41
เบŠเบทเปˆเป‚เบฎเบ”เป€เบŠเบตเบšเป€เบงเบต
 
เบชเบฒเบ
64
เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต DHCP. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เปเปˆ

105
เบŠเบทเปˆเป„เบŸเบฅเปŒ Boot
 
เบชเบฒเบ
128
เบŠเบทเปˆเป„เบŸเบฅเปŒเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบชเบฐเบ–เบฒเบ™เบต diskless เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡

235
เบ„เบธเบเบเบต Magic
63: 82: 53: 63
Hex
4
เบˆเปเบฒเบ™เบงเบ™ "Magic", เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบตเป‰เป€เบ›เบฑเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP

เบ•เบปเบงเป€เบฅเบทเบญเบ DHCP. เบชเบฒเบกเบฒเบ”เป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†

236
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
53
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 53, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เปเบžเบฑเบเป€เบเบฑเบ” DHCP 2 - DHCPOFFER

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
2
Dec
1

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒ DHCP เป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
255.255.224.0
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
3
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒ DHCP เป€เบ›เบฑเบ™เบ›เบฐเบ•เบนเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
172.16.12.1
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
6
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบต DHCP เปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ DNS

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
8.8.8.8
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
51
Dec
1
เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบญเบเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบต, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบนเบเบ„เป‰เบฒ DHCP เบ•เป‰เบญเบ‡เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
86400
Dec
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
82
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82, เป€เบฎเบฑเบ”เบŠเป‰เบณเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฒเปƒเบ™ DHCPDISCOVER

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
18
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:08:00:06:00
01:01:00:00:01
02:06:00:03:0f
26:4 เบ”
Dec
18

 
เบชเบดเป‰เบ™เบชเบธเบ”เบŠเบธเบ”
255
Dec
1
255 เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบŠเบธเบ”

DHCPREQUEST

เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบฎเบฑเบš DHCPOFFER, เบฅเบฒเบงเบชเป‰เบฒเบ‡เบŠเบธเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบšเปเปˆเปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบชเบฐเป€เบžเบฒเบฐ, เป€เบŠเบดเปˆเบ‡ DHCPOFFER เบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบฒเบง "เบกเบฑเบ" เบ—เบตเปˆเบชเบธเบ”. เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚ "เบกเบฑเบ" เบชเบฒเบกเบฒเบ”เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบฅเบฐเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” DHCP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ. เบœเบนเป‰เบฎเบฑเบšเบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบฅเบฐเบšเบธเป‚เบ”เบเปƒเบŠเป‰เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต DHCP. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เปเบžเบฑเบเป€เบเบฑเบ” DHCPREQUEST เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡ DHCPDISCOVER เบ—เปเบฒเบญเบดเบ”, เบ–เป‰เบฒเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ”เป‰เบฎเบฑเบšเบกเบฒเบเปˆเบญเบ™.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ” DHCPREQUEST

เบ•เปเบฒเปเปœเปˆเบ‡เบขเบนเปˆเปƒเบ™เบŠเบธเบ”
เบŠเบทเปˆเบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒ (เบ—เบปเปˆเบงเป„เบ›)
เบ•เบปเบงเบขเปˆเบฒเบ‡:
เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต
เป„เบšเบ•เปŒ
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ

1
เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป Boot
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบ„เบงเบฒเบก. 1 - เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, 2 - เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบฅเบนเบเบ„เป‰เบฒ

2
เบ›เบฐเป€เบžเบ”เบฎเบฒเบ”เปเบง
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบง, เปƒเบ™เป‚เบ›เป‚เบ•เบ„เป 1 - MAC เบ™เบตเป‰

3
เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบขเบนเปˆเบ„เบงเบฒเบกเบเบฒเบง
6
Hex
1
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™

4
Hops
1
Hex
1
เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ‡

5
ID เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐ เบเบณ
23:cf:de:1d
Hex
4
เบ•เบปเบงเบฅเบฐเบšเบธเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ. เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป

7
เบชเบญเบ‡โ€‹เบœเปˆเบฒเบ™โ€‹เป„เบ›
0
Hex
4
เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ

9
เบ—เบธเบ‡ Boot
8000
Hex
2
เบ—เบธเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, "เบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”" เบ–เบทเบเบเปเบฒเบ™เบปเบ”

11
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒ
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ–เป‰เบฒเบกเบต)

15
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
172.16.134.61
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ—เบตเปˆโ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบต (เบ–เป‰เบฒโ€‹เบกเบต)

19
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบ•เปเปˆเป„เบ›
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต (เบ–เป‰เบฒเบฎเบนเป‰เบˆเบฑเบ)

23
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™ Relay
172.16.114.41
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™ relay (เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹, เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹)

27
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ
14:d6:4d:a7:c9:55
Hex
6
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ” (เบฅเบนเบเบ„เป‰เบฒ)

31
เปเบœเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบงเบฅเบนเบเบ„เป‰เบฒ
 
Hex
10
เบšเปˆเบญเบ™เบ™เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบนเบ™

41
เบŠเบทเปˆเป‚เบฎเบ”เป€เบŠเบตเบšเป€เบงเบต
 
เบชเบฒเบ
64
เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต DHCP. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เปเปˆ

105
เบŠเบทเปˆเป„เบŸเบฅเปŒ Boot
 
เบชเบฒเบ
128
เบŠเบทเปˆเป„เบŸเบฅเปŒเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบชเบฐเบ–เบฒเบ™เบต diskless เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡

235
เบ„เบธเบเบเบต Magic
63: 82: 53: 63
Hex
4
เบˆเปเบฒเบ™เบงเบ™ "Magic", เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบตเป‰เป€เบ›เบฑเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP

เบ•เบปเบงเป€เบฅเบทเบญเบ DHCP. เบชเบฒเบกเบฒเบ”เป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†

236
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
53
Dec
3
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 53, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ” DHCP packet เบ›เบฐเป€เบžเบ” 3 - DHCPREQUEST

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
3
Dec
1

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
61
Dec
1
ID เบฅเบนเบเบ„เป‰เบฒ: 01 (เบชเปเบฒเบฅเบฑเบš Ehernet) + เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
7
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:2c:ab:25:ff:72:a6
Hex
7

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
60
Dec
 
"เบ•เบปเบงเบฅเบฐเบšเบธเบฅเบฐเบ”เบฑเบšเบœเบนเป‰เบ‚เบฒเบ". เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบกเบฑเบ™เบฅเบฒเบเบ‡เบฒเบ™เบชเบฐเบšเบฑเบšเบฅเบนเบเบ„เป‰เบฒ DHCP. เบšเบฒเบ‡เบ—เบตเบญเบธเบ›เบฐเบเบญเบ™เบญเบทเปˆเบ™เป†เบชเบปเปˆเบ‡เบ„เบทเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ Windows เบฅเบฒเบเบ‡เบฒเบ™ MSFT 5.0

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
11
Dec
 

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
udhcp 0.9.8
เบชเบฒเบ
 

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
55
 
1
เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒ. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™

01 - เปœเป‰เบฒเบเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ
03 - เบ›เบฐเบ•เบนเบฎเบปเป‰เบง
06 - DNS
oc โ€” เบŠเบทเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบš
0f - เบŠเบทเปˆเป‚เบ”เป€เบกเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ
1c - เบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ” (เบญเบญเบเบญเบฒเบเบฒเบ”)
42 - เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต TFTP
79 - Classless Static Route

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
8
 
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:03:06:0c:0f:1c:42:79
 
8

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
82
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82, เป€เบฎเบฑเบ”เบŠเป‰เบณเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฒเปƒเบ™ DHCPDISCOVER

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
18
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:08:00:06:00
01:01:00:00:01
02:06:00:03:0f
26:4 เบ”
Dec
18

 
เบชเบดเป‰เบ™เบชเบธเบ”เบŠเบธเบ”
255
Dec
1
255 เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบŠเบธเบ”

DHCPACK

เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบงเปˆเบฒ "เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เปเบฅเบฐเบ‚เป‰เบญเบเบˆเบฐเบšเปเปˆเป€เบญเบปเบฒเบกเบฑเบ™เบญเบญเบเปƒเบซเป‰เบœเบนเป‰เบญเบทเปˆเบ™" เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP, เบŠเบธเบ”เปƒเบ™เบฎเบนเบšเปเบšเบš DHCPACK เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบฅเบนเบเบ„เป‰เบฒเปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™. เบกเบฑเบ™เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบเบญเบฒเบเบฒเบ”เบ„เบทเบเบฑเบ™เบเบฑเบšเบŠเบธเบ”เบญเบทเปˆเบ™เป†. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ, เปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DHCP เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Python, เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบต, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบŠเปเป‰เบฒเบŠเป‰เบญเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เปƒเบ”เป†เป‚เบ”เบเบเบฒเบ™เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เป„เบ›เบซเบฒ IP เบฅเบนเบเบ„เป‰เบฒเบชเบฐเป€เบžเบฒเบฐ, เบ–เป‰เบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเปเบฅเป‰เบง. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เป€เบŠเบตเบšเป€เบงเบต DHCP เบšเปเปˆเบชเบปเบ™เปƒเบˆเป€เบฅเบตเบเบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ” DHCPACK เป„เบ”เป‰เป„เบ›เบฎเบญเบ”เบฅเบนเบเบ„เป‰เบฒเบซเบผเบทเบšเปเปˆ. เบ–เป‰เบฒเบฅเบนเบเบ„เป‰เบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบš DHCPACK, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบฅเบเบฐเบซเบ™เบถเปˆเบ‡เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบŠเป‰เปเบฒ DHCPREQUEST

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ” DHCPACK

เบ•เปเบฒเปเปœเปˆเบ‡เบขเบนเปˆเปƒเบ™เบŠเบธเบ”
เบŠเบทเปˆเบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒ (เบ—เบปเปˆเบงเป„เบ›)
เบ•เบปเบงเบขเปˆเบฒเบ‡:
เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต
เป„เบšเบ•เปŒ
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ

1
เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป Boot
2
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบ„เบงเบฒเบก. 1 - เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, 2 - เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบฅเบนเบเบ„เป‰เบฒ

2
เบ›เบฐเป€เบžเบ”เบฎเบฒเบ”เปเบง
1
Hex
1
เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบง, เปƒเบ™เป‚เบ›เป‚เบ•เบ„เป 1 - MAC เบ™เบตเป‰

3
เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบขเบนเปˆเบ„เบงเบฒเบกเบเบฒเบง
6
Hex
1
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™

4
Hops
1
Hex
1
เบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ‡

5
ID เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐ เบเบณ
23:cf:de:1d
Hex
4
เบ•เบปเบงเบฅเบฐเบšเบธเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ. เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป

7
เบชเบญเบ‡โ€‹เบœเปˆเบฒเบ™โ€‹เป„เบ›
0
Hex
4
เป€เบงเบฅเบฒเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบตเบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ

9
เบ—เบธเบ‡ Boot
8000
Hex
2
เบ—เบธเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, "เบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”" เบ–เบทเบเบเปเบฒเบ™เบปเบ”

11
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒ
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ–เป‰เบฒเบกเบต)

15
เบ—เบตเปˆเบขเบนเปˆ IP เบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™
172.16.134.61
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ—เบตเปˆโ€‹เปƒเบซเป‰โ€‹เป‚เบ”เบโ€‹เป€เบŠเบตเบšโ€‹เป€เบงเบต (เบ–เป‰เบฒโ€‹เบกเบต)

19
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเบ•เปเปˆเป„เบ›
0.0.0.0
เบชเบฒเบ
4
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต (เบ–เป‰เบฒเบฎเบนเป‰เบˆเบฑเบ)

23
เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™ Relay
172.16.114.41
เบชเบฒเบ
4
เบ—เบตเปˆโ€‹เบขเบนเปˆ IP เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™ relay (เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹, เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹)

27
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ
14:d6:4d:a7:c9:55
Hex
6
เบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ” (เบฅเบนเบเบ„เป‰เบฒ)

31
เปเบœเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบฎเบฒเบ”เปเบงเบฅเบนเบเบ„เป‰เบฒ
 
Hex
10
เบšเปˆเบญเบ™เบ™เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™เป„เบงเป‰. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบชเบนเบ™

41
เบŠเบทเปˆเป‚เบฎเบ”เป€เบŠเบตเบšเป€เบงเบต
 
เบชเบฒเบ
64
เบŠเบทเปˆเป€เบŠเบตเบšเป€เบงเบต DHCP. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เปเปˆ

105
เบŠเบทเปˆเป„เบŸเบฅเปŒ Boot
 
เบชเบฒเบ
128
เบŠเบทเปˆเป„เบŸเบฅเปŒเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเบชเบฐเบ–เบฒเบ™เบต diskless เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เป€เบ„เบทเปˆเบญเบ‡

235
เบ„เบธเบเบเบต Magic
63: 82: 53: 63
Hex
4
เบˆเปเบฒเบ™เบงเบ™ "Magic", เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ™เบตเป‰เป€เบ›เบฑเบ™เบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP

เบ•เบปเบงเป€เบฅเบทเบญเบ DHCP. เบชเบฒเบกเบฒเบ”เป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†

236
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
53
Dec
3
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 53, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ” DHCP packet เบ›เบฐเป€เบžเบ” 5 - DHCPACK

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
5
Dec
1

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
1
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒ DHCP เป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
255.255.224.0
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
3
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒ DHCP เป€เบ›เบฑเบ™เบ›เบฐเบ•เบนเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
172.16.12.1
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
6
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบชเบฐเป€เบซเบ™เบต DHCP เปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ DNS

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
8.8.8.8
เบชเบฒเบ
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
51
Dec
1
เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบญเบเป€เบ›เบฑเบ™เบงเบดเบ™เบฒเบ—เบต, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบนเบเบ„เป‰เบฒ DHCP เบ•เป‰เบญเบ‡เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
4
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
86400
Dec
4

 
เบ•เบปเบงเป€เบฅเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
82
Dec
1
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ 82, เป€เบฎเบฑเบ”เบŠเป‰เบณเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฒเปƒเบ™ DHCPDISCOVER

 
เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
18
Dec
1

 
เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ
01:08:00:06:00
01:01:00:00:01
02:06:00:03:0f
26:4 เบ”
Dec
18

 
เบชเบดเป‰เบ™เบชเบธเบ”เบŠเบธเบ”
255
Dec
1
255 เป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบŠเบธเบ”

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเบˆเบดเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบกเบ”เบนเบ™ python เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบกเบฑเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ MySQL เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเป‰เบง.

FreeBSD

pkg เบ•เบดเบ”เบ•เบฑเป‰เบ‡ python3 python3 -m surepip pip3 เบ•เบดเบ”เบ•เบฑเป‰เบ‡ mysql-connector

Ubuntu

sudo apt-get เบ•เบดเบ”เบ•เบฑเป‰เบ‡ python3 sudo apt-get เบ•เบดเบ”เบ•เบฑเป‰เบ‡ pip3 sudo pip3 เบ•เบดเบ”เบ•เบฑเป‰เบ‡ mysql-connector

เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ MySQL, เบญเบฑเบšเป‚เบซเบฅเบ” pydhcp.sql dump เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™, เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบŠเบตเบšเป€เบงเบตเบ—เบฑเบ‡เปเบปเบ”เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ xml. เป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡:

1.0 0.0.0.0 255.255.255.255 192.168.0.71 8600 1 255.255.255.0 192.168.0.1 localhost เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš pydhcp option_8.8.8.8_hex:sw_port82:1:20 option_22_hex:sw_port82:2:16 option_18_hex:sw_mac:82:26 40 เป€เบฅเบทเบญเบ ip,mask,router,dns เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆ upper(mac)=upper('{option_3_AgentRemoteId_hex}') เปเบฅเบฐ upper(port)=upper('{option_1_AgentCircuitId_port_hex}') เป€เบฅเบทเบญเบ ip,mask,router,dns เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบšเปˆเบญเบ™เบ—เบตเปˆ upper(mac)=upper('{sw_mac}') เปเบฅเบฐ upper(port)=upper('{sw_port82}') เป€เบฅเบทเบญเบ ip,mask,router,dns เบˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบšเปˆเบญเบ™เบ—เบตเปˆ upper(mac)=upper('{ClientMacAddress}') เปƒเบชเปˆเปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ” (id,dt,mac,ip,comment) เบ„เปˆเบฒ (null,now(),'{ClientMacAddress}','{RequestedIpAddress}','DHCPACK/INFORM')

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš tags:

เบžเบฒเบเบชเปˆเบงเบ™ dhcpserver เบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบ„เบท:

  • host - เบ—เบตเปˆเบขเบนเปˆ IP เปเบกเปˆเบ™เบซเบเบฑเบ‡เบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบŸเบฑเบ‡เบขเบนเปˆเปƒเบ™เบžเบญเบ” 67
  • เบญเบญเบเบญเบฒเบเบฒเบ” - เบ—เบตเปˆ ip เปเบกเปˆเบ™เบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”เบชเปเบฒเบฅเบฑเบš DHCPOFFER เปเบฅเบฐ DHCPACK
  • DHCPServer - ip เบ‚เบญเบ‡เป€เบŠเบตเบšเป€เบงเบต DHCP เปเบกเปˆเบ™เบซเบเบฑเบ‡
  • เป€เบงเบฅเบฒเป€เบŠเบปเปˆเบฒ LeaseTime เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบญเบญเบ
  • ThreadLimit - เบˆเบณเบ™เบงเบ™เบเบฐเบ—เบนเป‰เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบžเป‰เบญเบกเป†เบเบฑเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบžเบฑเบเป€เบเบฑเบ” UDP เบ‚เบฒเป€เบ‚เบปเป‰เบฒเบขเบนเปˆเปƒเบ™เบžเบญเบ” 67. เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเบŠเปˆเบงเบเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡ ๐Ÿ˜‰
  • defaultMask,defaultRouter,defaultDNS - เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบœเบนเป‰เบˆเบญเบ‡เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ–เป‰เบฒ IP เป„เบ”เป‰เบ–เบทเบเบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบ•เปˆเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™.

เบžเบฒเบเบชเปˆเบงเบ™ mysql:

เป€เบˆเบปเป‰เบฒเบžเบฒเบš, เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰, เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™, เบŠเบทเปˆเบžเบทเป‰เบ™เบ–เบฒเบ™ - เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบงเบปเป‰เบฒเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡. เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบ›เบฐเบกเบฒเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฅเบปเบ‡เปƒเบ™ GitHub

เบžเบฒเบเบชเปˆเบงเบ™เบ„เปเบฒเบ–เบฒเบก: เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš OFFER / ACK เปเบกเปˆเบ™เบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰:

  • offer_count โ€” เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ—เบตเปˆโ€‹เปƒเบซเป‰โ€‹เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เป€เบŠเบฑเปˆเบ™ ipโ€‹, เบซเบ™เป‰เบฒโ€‹เบเบฒเบโ€‹, routerโ€‹, dnsโ€‹.
  • offer_n โ€” เบชเบฐเบ•เบฃเบดเบ‡เบชเบญเบšเบ–เบฒเบก. เบ–เป‰เบฒเบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เปเบกเปˆเบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเบ•เปเปˆเป„เบ›เบ™เบตเป‰
  • history_sql - เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ‚เบฝเบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป„เบ›เบซเบฒ "เบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”" เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบˆเบญเบ‡.

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบตเบ•เบปเบงเปเบ›เปƒเบ”เป†เบˆเบฒเบเบžเบฒเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบผเบทเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบˆเบฒเบเป‚เบ›เป‚เบ•เบ„เบญเบ™ DHCP.

เบžเบฒเบเบชเปˆเบงเบ™เบ•เบปเบงเป€เบฅเบทเบญเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบ›เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ•เปเปˆเบกเบฒเปƒเบ™เบžเบฒเบเบ„เปเบฒเบ–เบฒเบก.

เบ•เบปเบงเบขเปˆเบฒเบ‡:

option_82_hex:sw_port1:20:22

, เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เป€เบญเบปเบฒเป€เบชเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบฒเปƒเบ™ DHCP เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป 82, เปƒเบ™เบฎเบนเบšเปเบšเบš hex, เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเบฒเบ 20 เบซเบฒ 22 bytes เบฅเบงเบกเปเบฅเบฐเบงเบฒเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ sw_port1 เบ•เบปเบงเปเบ›เปƒเบซเบกเปˆ (เบชเบฐเบซเบผเบฑเบšเบžเบญเบ”เบˆเบฒเบเบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบกเบฒ)

option_82_hex:sw_mac:26:40

, เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ› sw_mac, เป€เบญเบปเบฒ hex เบˆเบฒเบเป„เบฅเบเบฐ 26:40

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป‚เบ”เบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เป‰เบงเบเบ›เบธเปˆเบก -d switch. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: เบšเบฑเบ™เบ—เบถเบเบ™เบตเป‰:

--a เปเบžเบฑเบเป€เบเบฑเบ” DHCPINFORM เบกเบฒเบฎเบญเบ”เบžเบญเบ” 67, เบˆเบฒเบ 0025224ad764 , b'x91xa5xe0xa3xa5xa9-x8fx8a' , ('172.30.114.25', 68) {'ClientMacAddress': '0025224'764'00', 7) {'ClientMacAddress': '91'5% xd0d', 'HType': 'Ethernet', 'HostName': b'x3xa5xe9xa8xa8xa43-x0.0.0.0fx5.0a', 'ReqListDNS': True, 'ReqListDomainName': True, 'ReqListPerfowmRouterDiscover': TruequteList,'Retic' ' ReqListSubnetMask ': True, 'ReqListVendorSpecInfo': 0025224, 'RequestedIpAddress': '764', 'Vendor': b'MSFT 172.30.128.13', 'chaddr': '00ad00'.', 172.30.114.25'. เบ—เบธเบ‡ ': b'x308x6', 'giaddr': '1', 'gpoz': 82, 'hlen': 12, 'hops': 12, 'htype': 'MAC', 'magic_cookie': b' cx53Sc ', 'op': 'DHCPINFORM', 'option53': 55, 'option55': 60, 'option60': 61, 'option61': 82, 'option82': 82, 'option12': 01'06'option : b'x00x04x00x01x00x06x02x08x00x06x00x1' b'x9x2x82eXx12010600040001000602080006001exb589xad', 'option_2_hex': '82' len': 18, 'option_82_str': "b'x12x01x06x00x04x00x01x00x06x02x08x00x06x00x1eXx9exb2xad'", 'result': False, 'secs':'siad'768, : '0.0.0.0', 'sw_mac': '001e589eb2ad', 'sw_port1': '06', 'xidbyte': b'

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบซเปเปˆเบ•เบปเบงเปเบ›เปƒเบ”เป†เปƒเบ™ {} เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบ—เบถเบเบ›เบฐเบซเบงเบฑเบ”เบ—เบตเปˆเบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP:

เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เป€เบŠเบตเบšเป€เบงเบต DHCP+Mysql เปƒเบ™ Python

เบเบณเบฅเบฑเบ‡เป€เบฅเบตเปˆเบกเป€เบŠเบตเบšเป€เบงเบต

./pydhcpdb.py -d -c config.xml

โ€” d console เป‚เบซเบกเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ” DEBUG
- c <filename> เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบ

เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™ Python. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเป€เบˆเบฑเบšเบ›เบงเบ”. Python เป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เปƒเบ™เบเบฒเบ™เบšเบดเบ™. เบซเบผเบฒเบเป†เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเปเบกเปˆเบ™เป€เบฎเบฑเบ”เปƒเบ™เปเบšเบšเบ‚เบญเบ‡ "เบงเป‰เบฒเบง, เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ." เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบ›เบฐเป„เบงเป‰เปƒเบ™เบฎเบนเบšเปเบšเบšเบ™เบตเป‰เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบเป‰เบญเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบซเบ™เป‰เบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Python. เบ‚เป‰เบญเบเบˆเบฐเบขเบนเปˆเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™ "เบฅเบฐเบซเบฑเบ”".

เบ•เบปเบงเปเบเบเบงเบดเป€เบ„เบฒเบฐเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ XML

เป‚เบกเบ”เบนเบ™ Python เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ xml.dom เบ–เบทเบเปƒเบŠเป‰. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‡เปˆเบฒเบเบ”เบฒเบ, เปเบ•เปˆเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบตเบเบฒเบ™เบ‚เบฒเบ”เปเบ„เบ™เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™เบ™เบตเป‰.

    tree = minidom.parse(gconfig["config_file"]) mconfig=tree.getElementsByTagName("mysql") เบชเปเบฒเบฅเบฑเบš elem เปƒเบ™ mconfig: gconfig["mysql_host"]=elem.getElementsByTagName("host")[0].first gconfig["mysql_username"]=elem.getElementsByTagName("เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰")[0].firstChild.data gconfig["mysql_password"]=elem.getElementsByTagName("password")[0].firstChild.data"gconfig["mysql_password"]=elem.getElementsByTagName("password")[0].firstChild.name"gconfig =elem.getElementsByTagName("basename")[0].firstChild.data dconfig=tree.getElementsByTagName("dhcpserver") เบชเปเบฒเบฅเบฑเบš elem เปƒเบ™ dconfig: gconfig["broadcast"]=elem.getElementsByTagName("broadcast")[0] firstChild.data gconfig["dhcp_host"]=elem.getElementsByTagName("host")[0].firstChild.data gconfig["dhcp_LeaseTime"]=elem.getElementsByTagName("LeaseTime")[0].firstChild.data gconfig["dhcp_LeaseTime"]=elem.getElementsByTagName("เป€เบงเบฅเบฒเป€เบŠเบปเปˆเบฒ")[0].firstChild.data gconfig dhcp_ThreadLimit"]=int(elem.getElementsByTagName("ThreadLimit")[0].firstChild.data) gconfig["dhcp_Server"]=elem.getElementsByTagName("DHCPServer")[0].firstChild.data) gconfig["dhcp_Server"]=elem.getElementsByTagName("DHCPServer")[0].firstChild. =elem.getElementsByTagName("defaultMask")[0].firstChild.data gconfig["dhcp_defaultRouter"]=elem.getElementsByTagName("defaultRouter")[1].firstChild.data gconfig["dhcp_default"DNS"]=elem defaultDNS")[1].firstChild.data qconfig=tree.getElementsByTagName("query") เบชเปเบฒเบฅเบฑเบš elem เปƒเบ™ qconfig: gconfig["offer_count"]=elem.getElementsByTagName("offer_count")[0].firstChild.data เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเป€เบฅเบ. range(int(gconfig["offer_count"])): gconfig["offer_"+str(num+0)]=elem.getElementsByTagName("offer_"+str(num+XNUMX))[XNUMX].firstChild.data gconfig ["history_sql"]=elem.getElementsByTagName("history_sql")[XNUMX].firstChild.data options=tree.getElementsByTagName("เบ—เบฒเบ‡เป€เบฅเบทเบญเบ") เบชเปเบฒเบฅเบฑเบš elem เปƒเบ™เบ•เบปเบงเป€เบฅเบทเบญเบ: node=elem.getElementsByTagName("เบ—เบฒเบ‡เป€เบฅเบทเบญเบ") : optionsMod.append(options.firstChild.data)

Multithreading

Oddly เบžเบฝเบ‡เบžเป, multithreading เปƒเบ™ Python เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบ.

def PacketWork(data,addr): ... # เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบเบเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเปเบฅเบฐเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบกเบฑเบ™ ... เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ True: data, addr = udp_socket.recvfrom(1024) # เบฅเปเบ–เป‰เบฒ UDP packet thread = threading.Thread( target=PacketWork , args=(data,addr,)).start() # เบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบกเบฒ - เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบŸเบฑเบ‡เบŠเบฑเบ™ PacketWork เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เปƒเบ™เบžเบทเป‰เบ™เบซเบผเบฑเบ‡เบ”เป‰เบงเบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ threading.active_count() >gconfig["dhcp_ThreadLimit"]: เป€เบงเบฅเบฒ. sleep(1) # เบ–เป‰เบฒเบ•เบปเบงเป€เบฅเบเบกเบตเบเบฐเบ—เบนเป‰เบซเบผเบฒเบเปเบฅเป‰เบงเปเบฅเปˆเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบฅเปเบ–เป‰เบฒเบˆเบปเบ™เบเปˆเบงเบฒเบกเบตเบซเบ™เป‰เบญเบเบฅเบปเบ‡.

เบฎเบฑเบš/เบชเบปเปˆเบ‡เบŠเบธเบ” DHCP

เป€เบžเบทเปˆเบญเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ” UDP เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบœเปˆเบฒเบ™เบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡ "เบเบปเบ" เป€เบ•เบปเป‰เบฒเบฎเบฑเบš:

udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,socket.IPPROTO_UDP) udp_socket.bind((gconfig["dhcp_host"],67))

, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เบธเบ‡เปเบกเปˆเบ™:

  • AF_INET - เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบขเบนเปˆเบˆเบฐเป€เบ›เบฑเบ™ IP: port. เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ AF_UNIX - เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเปเบกเปˆเบ™เปƒเบซเป‰เป‚เบ”เบเบŠเบทเปˆเป„เบŸเบฅเปŒ.
  • SOCK_DGRAM - เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบเบญเบกเบฎเบฑเบš "packet เบ”เบดเบš", เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบœเปˆเบฒเบ™ firewall เปเบฅเป‰เบง, เปเบฅเบฐเบกเบต packet เบ•เบฑเบ”เบšเบฒเบ‡เบชเปˆเบงเบ™. เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆเบŠเบธเบ” UDP เป‚เบ”เบเบšเปเปˆเบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบš "เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ" เบ‚เบญเบ‡เบซเปเปˆเบซเบธเป‰เบกเบซเปเปˆ UDP. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰เบ—เบธเบ‡ SOCK_RAW, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบงเบดเป€เบ„เบฒเบฐ "wrapper" เบ™เบตเป‰.

เบเบฒเบ™เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ„เบทเบเบฑเบšเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”:

                    udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) #เบ›เปˆเบฝเบ™เบŠเบฑเบญเบเป€เบเบฑเบ”เป€เบ›เบฑเบ™เป‚เปเบ”เบญเบญเบเบญเบฒเบเบฒเบ” rz=udp_socket.sendto(packetack, (gconfig["broadcast"],68))

, เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆ "เบšเปˆเบญเบ™เบ—เบตเปˆเบŠเบธเบ”เบกเบฒเบˆเบฒเบ":

                        udp_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) # เบ›เปˆเบฝเบ™เป€เบ•เบปเป‰เบฒเบฎเบฑเบšเป€เบ›เบฑเบ™เป‚เปเบ”เบœเบนเป‰เบŸเบฑเบ‡เบซเบผเบฒเบเบฅเบฒเบเบเบฒเบ™ rz=udp_socket.sendto(packetack, addr)

, เบšเปˆเบญเบ™เบ—เบตเปˆ SOL_SOCKET เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ "เบฅเบฐเบ”เบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบ,

, SO_BROADCAST เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบŠเบธเบ”เบซเบกเบงเบเบเบฑเบ™เบเบฐเบ—เบปเบšเปเบกเปˆเบ™ "เบญเบญเบเบญเบฒเบเบฒเบ”"

  ,SO_REUSEADDR เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ›เปˆเบฝเบ™เบŠเบฑเบญเบเป€เบเบฑเบ”เป€เบ›เบฑเบ™เป‚เบซเบกเบ” "เบœเบนเป‰เบŸเบฑเบ‡เบซเบผเบฒเบเบ„เบปเบ™". เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบกเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ FreeBSD เบ—เบตเปˆเบ‚เป‰เบญเบเบ—เบปเบ”เบชเบญเบš, เบฅเบฐเบซเบฑเบ”เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰.

เบเบณเบฅเบฑเบ‡เบงเบดเป€เบ„เบฒเบฐเปเบžเบฑเบเป€เบเบฑเบ” DHCP

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เป‰เบญเบเบกเบฑเบ Python. เบกเบฑเบ™ turns เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบญเบญเบโ€‹เบˆเบฒเบโ€‹เบ›เปˆเบญเบ‡โ€‹เบ—เบตเปˆโ€‹เบกเบฑเบ™โ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบ—เบตเปˆโ€‹เบกเบต bytecode เป„เบ”เป‰โ€‹. เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบฑเบ™เบ–เบทเบเปเบ›เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบเป€เบ›เบฑเบ™เบ„เปˆเบฒเบ—เบปเบ”เบชเบฐเบ™เบดเบเบปเบก, เบชเบฐเบ•เบดเบ‡เปเบฅเบฐ hex - i.e. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบŠเบธเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡ bytes เปƒเบ™ HEX เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆ bytes:

    res["xidhex"]=data[4:8].hex() res["xidbyte"]=data[4:8]

, เบซเปเปˆ bytes เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡:

res["flags"]=pack('BB',data[10],data[11])

เป€เบญเบปเบฒ IP เบˆเบฒเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡:

res["ciaddr"]=socket.inet_ntoa(pack('BBBB',data[12],data[13],data[14],data[15]));

เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™:

res=res+socket.inet_pton(socket.AF_INET, gconfig["dhcp_Server"])

เบ™เบฑเป‰เบ™เบ„เบทเบ—เบฑเบ‡เปเบปเบ”เปƒเบ™เบ•เบญเบ™เบ™เบตเป‰ ๐Ÿ˜‰

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™