- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试用Python嗅探ospf数据包,并在ubuntu中实现了这个目标。
在windows下,我只能嗅探TCP、UDP和IGMP数据包。我可以通过wireshark捕获ospf数据包。
代码如下。
from socket import *
import struct
import binascii
local_name = getfqdn(gethostname())
local_addr = gethostbyname(local_name)
sniffer = socket(AF_INET, SOCK_RAW, IPPROTO_IP)
sniffer.bind((local_addr, 0))
sniffer.setsockopt(IPPROTO_IP, IP_HDRINCL, 1)
sniffer.ioctl(SIO_RCVALL, RCVALL_ON)
while True:
pkt = sniffer.recvfrom(2048)
ipHeader = pkt[0][0:20]
ip_hdr = struct.unpack("!9s1s10s",ipHeader)
print("proto:", binascii.hexlify(ip_hdr[1]))
在 ubuntu 16.04 中,我创建套接字如下。
嗅探器=套接字(PF_PACKET,SOCK_RAW,htons(0x0800))
但是windows下好像不支持PF_PACKET和AF_PACKET。
如何在 Windows 中修改我的代码?或者如何在Windows中捕获以太网帧?
提前致谢:)
最佳答案
我找出原因了。看来只能通过在数据链路层捕获以太网帧来嗅探ospf数据包。但在 Windows 中,这是被禁止的。可以使用Winpcap。
关于python - 如何使用原始数据包在python3.5中嗅探Windows 10中的ospf数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44643660/
我正在开发一个项目,需要手动生成 OSPF 数据包。我目前在正确获取 OSPF 校验和时遇到问题。我读到我必须将身份验证数据排除在计算之外,即使我这样做,我也无法让它工作。我知道用于生成校验和的函数是
我正尝试按如下方式收听 OSPFv2 Hello 消息: ens192, err := net.InterfaceByName("ens192") if err != nil {
问题一:我在 Omnet++ 中实现了 ospf 协议(protocol)。根据拓扑,r1可以通过两种不同的方式到达r3。我已经将upper path metric设置为1,将lower path设置
我已经安装了 OSPF patch对于 ns2 并且它安装正确。现在,当我尝试使用命令 ns ospf0.tcl 运行同一补丁的 tcl 示例时,出现此错误: (TCL) Creating simul
为什么BGP还没有完全取代OSPF和IsIs?其他两个协议(protocol)处理 BGP 尚未实现的内容是什么? 最佳答案 在什么情况下 BGP 取代 OSPF 或 ISIS 是可行的? BGP 是
我一直在尝试计算 OSPF 数据包的 LSA 校验和,但没有成功。 我阅读了 ospf 的 RFC 并在那里说您需要使用 Fletcher 算法。我试过了,但它仍然没有给出正确的答案。我的代码: Vo
我正在尝试在 Mac 或 Linux 中进行 OSPF 协议(protocol)模拟。所以,基本上我想运行许多二进制 OSPF 二进制文件,它们应该能够相互通信,并且应该能够使用伪接口(interfa
为什么 OSPF LSA 序列号在 0x80000001 到 0x7FFFFFFF 范围内。 我想这是出于某些历史原因,但不能用谷歌搜索。 最佳答案 LSA 序列号是一个有符号的 32 位整数。 所以
我在 ubuntu 上使用 ns2 和 nam 已经很长时间了。现在我必须对其应用补丁 (OSPF)。我一直在寻找如何在 Linux 中应用补丁(因为我是新手),我得到的只是: 1) $ tar xv
我是一名优秀的程序员,十分优秀!