我尝试制作一个带有参数请求列表选项的 DHCP 数据包,并在该请求中添加三个参数。
这就是我所做的,但我在 Wireshark 上看到的数据包看起来格式错误:
dhcp_pkt = Ether(dst="ff:ff:ff:ff:ff:ff")/IP(src="0.0.0.0",dst="255.255.255.255")/UDP(sport=68,dport=67)/BOOTP(chaddr=MAC_SOURCE)/DHCP(options=[("message-type","request"),("param_req_list", "subnet_mask", "router", "domain"),"end"])
我还尝试将参数作为我想要包含在请求列表中的参数的代码列表传递,但数据包仍然格式错误。
最佳答案
(这个答案涉及发现数据包,而不是请求数据包,因为这就是我正在写的内容)
您可以像这样创建 DHCP 帧:
dhcp_options = [
("message-type", "discover"),
("param_req_list", [
DHCPRevOptions["subnet_mask"][0], # by name
DHCPRevOptions["router"][0],
DHCPRevOptions["name_server"][0],
15, # aka "domain name
]),
"end"
]
dhcp = DHCP(options=dhcp_options)
制作完 ether
、ip
、udp
和 bootp
帧后:
packet = ether/ip/udp/bootp/dhcp
关于python - 如何使用 Scapy 在 DHCP header 中添加参数请求列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158713/