Python嗅探器-从包中提取信息的方法

问题描述

在检查用Python编写的嗅探器代码时,我看到以太网层信息是从数据包的前14个字符获得的,而IP层信息是从包含以太网层信息的同一数据包的前20个字符获得的。那么如何从数据包的同一部分获得IP和以太网信息呢?

简而言之:

packet = s.recvfrom(65535)
ethernet_layer = packet[:14]
ip_layer = packet[:20] # includes ethernet layer

我的看法:

packet = s.recvfrom(65535)
ethernet_layer = packet[:14]
ip_layer = packet[14:34]

嗅探器代码:https://github.com/shreyasgune/Packet-Sniffer/blob/master/sniff-it.py#L47

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...