c++ - 在 Windows 上使用 C++ 向广播地址发送 (g)ARP 请求
问题描述
我想使用 c++ 在 Windows 10 上发送带有目标地址 (255.255.255.255) 的广播 ARP 请求。我知道 SendARP 功能,但是,它不适用于广播。
还有其他使用 winpcap 和 pcap 标头的方法,但是,我需要在没有除 winsock 之外的外部库的情况下执行此操作。我试着用
SOCKET sock = socket(AF_INET,SOCK_RAW,htons(0x0806));
但是套接字在 Windows 上永远无效。有没有办法在没有 wnpcap 库的情况下实现这种广播 ARP?
=================
尝试的方法:SendARP 用于发送具有特定目标 IP 地址的 ARP 消息,但不能发送到广播消息
https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-sendarp
这里的代码不适用于 Windows。我提取并修改了它,但是套接字无效或 sendto 函数没有发送 ARP 请求。 http://usuaris.tinet.cat/sag/send_arp.htm
解决方案
推荐阅读
- python - Filter dataframe by first order per customer
- rust - 惯用的取消引用映射键
- javascript - sortReplies() 函数无法使用 Rivescript
- apache-nifi - 监控自定义处理器中的背压计数和大小
- c# - 尝试打开指向 API 返回的 PDF 的超链接时,MS Word 显示“无法打开指定的文件”错误
- swift - 为什么当我按下按钮时我的 UILabel 没有改变?
- unity3d - 设置自定义排序点(不更改枢轴)?
- javascript - 在javascript中嵌套对象数组
- reactjs - React Hooks: skip re-render on multiple consecutive setState calls
- python - 从 Python 列表中去除单引号