首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在scapy中手工创建DHCP提供数据包

在scapy中手工创建DHCP提供数据包
EN

Stack Overflow用户
提问于 2018-04-25 23:48:07
回答 1查看 2.6K关注 0票数 1

我正在使用scapy编写一个非常简单的DHCP服务器,并且我被困在发送一个offer包上。现在我是这样做的:

代码语言:javascript
运行
复制
ethernet=Ether(dst=dest_mac, src=hw, type=0x800)
ip=IP(dst=dest_addr, src=srv_ip)
udp=UDP(sport=67, dport=68)
bootp=BOOTP(op=2, yiaddr=dest_addr, siaddr=srv_ip, chaddr=client_mac)
dhcp=DHCP(options=[("message-type", "offer"), ("server_id", dest_addr), ("broadcast_address", broadcast), ("router", gateway), ("subnet_mask", netmask)])
of_pack=ethernet/ip/udp/bootp/dhcp

sendp(of_pack)

客户端为ISC DHCP,安装在ubuntu服务器16.04上。我可以在Wireshark中看到dhclient发送的Discovery数据包,但我看不到我的服务器发送的offer数据包(替罪羊说:发送了1个数据包,所以看起来没问题)。所以我想我在制作优惠包的时候做错了什么。

由于它甚至在Wireshark中看不到,我认为某个地方的问题出在IP协议层或更低层(我之前发送了格式错误的数据包,我可以在Wireshark中看到它们)。

更新:of_pack.show()的输出:1 2

不确定,但可能是校验和和/或IP报头长度有问题?我是应该手动计算它,还是可以自己计算呢?

EN

回答 1

Stack Overflow用户

发布于 2018-04-26 03:46:51

我将接口名称添加到sendp: sendp(of_pack,iface="ens33")。现在至少可以通过wireshark看到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50026438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档