问题标签 [bootp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 解析c#bootp服务器的二进制数据?
我需要一个 C# .NET 应用程序作为 bootp 服务器。该协议非常简单,但我不知道构建/解析二进制数据的简单方法。
任何想法:(
来源:tcpipguide.com)
c# - 我刚刚在哪个适配器上收到了这个 UDP 数据包?
我正在尝试用 c# 编写一个 BOOTP 服务器。
我正在接收并解析来自客户端的 BOOTP 数据包,我需要回复我的服务器 IP 地址。
问题是:
- 计算机可以有多个网络适配器
- 客户端还没有 IP 地址
有没有办法找出接收到 UDP 数据包的适配器?
c# - 在 dhcp 保留中更改选项 DHCP/BOOTP
我正在使用 C# (Visual Studio 2010) 以编程方式创建 DHCP 保留。
我已经使用这篇文章中的信息来获取 DHCPOBJECTS.DLL。连接到 DHCP 服务器效果很好。我还可以创建新的预订或枚举现有预订。
不幸的是,在创建新预订时,支持的类型始终设置为“两者”。在我们的网络中,我们只能使用 DHCP。
任何人都知道如何通过 DHCPOBJECTS.DLL 将支持的类型设置为 DHCP?
编辑: 好的,看来我无法通过 DHCPOBJECTS.DLL 更改此选项。现在我将尝试通过microsoft dhcp server management api来实现这一点
objective-c - 如何通过 Objective-C / OS X 10.8 (DHCP) 中的所有接口发送 UDP 广播数据包
我正在创建一个小型实用程序,它必须在我的 MacBook Pro 上通过 BOOTP 提供 IP 地址和参数。
我使用了来自 GitHub 的 AsyncUdpSocket 库(感谢 RobbieHanson),当我的机器配置为仅连接有线以太网(Airport Off)时,它就可以工作了。但是,一旦我也启用了我的 Wifi,所有的广播回复都会进入 Wifi 界面。这会导致有线客户端无法得到应答。
初始化/接收代码:
发送代码:
我确信一定有办法做到这一点,但这是我的第一个 OS X 程序,我正在努力掌握我的谷歌搜索礼仪以适应框架:)
更新
今晚我弄乱了我的代码,并检查了我调用它时 AsyncUdpSocket 正在做什么。基本上我有以下情况;如果我打电话bindToAddress
并提供10.0.0.1
(分配给我的 ETH NIC 的地址),那么我既不会收到任何数据包,也不能发送它们。但是,如果我传入nil
该方法,那么我可以发送一条消息并接收广播 - 缺点是发送通过我的 WIFI NIC(默认路由)发出
在后台 -库在提供 nil 值时使用 IFADDR_ANYAsyncUdpSocket
调用,或者如果提供了 10.0.0.1 的填充 IFADDR 结构。CFSocketSetAddress
不会引发任何错误,因此应该可以正常工作。
有任何想法吗?我要上墙,只想解决这个问题。我真的很喜欢图书馆的异步性质,所以我不想把它扔掉。
qt - 与 Qt 的 BootP 和 UDP 套接字通信
我正在构建一个计算机客户端,它通过 UDP IP 从医疗病人监视器接收数据。我正在使用 QTs API,因此使用 QUdpSocket 类来建立通信。我要从中接收数据的监视器取决于要接收的 BootP 服务器和 IP 地址。这是成功实现的,我给它的IP是“192.168.10.10”。通过使用 Microsoft 网络监视器,我可以看到我想从我的程序中读取的数据包是从 - 源:192.168.10.10 发送到 - 目标:192.168.10.255。源端口和目的端口都是:24005。
我用来建立通信和读取数据报的代码如下:
我还尝试了 bind() 命令的不同变体:
没有任何运气。
我对 IP 网络的经验很少,我不知道这在哪里失败。例如,将套接字绑定到目标地址是正确的还是应该是源地址?(我都试过了)。分配的 IP 地址是否有效?它可能是什么其他错误来源?我猜这些数据包没有被我的防火墙阻止,因为它们在网络监视器中可见。
非常感谢您对此的投入:)
最好的,莫滕
networking - BootP/DHCP 的 TransactionID 字段 - 随机生成一次还是每次?
我必须使用每次发送具有相同 TransactionID 的 BootP 请求的设备,因为DHCP RFC说
" xid 4 事务 ID,客户端选择的随机数,客户端和服务器使用它来关联客户端和服务器之间的消息和响应。"
这是否意味着 TransactionID 是随机生成一次并永远使用它,还是应该在每个 BootP 请求上随机生成?
java - 比较相等的字符串时,Equals 返回 false
我正在尝试用 Java 编写 BOOTP 客户端/服务器,RFC 中的规范之一是客户端可以编写它想要连接的服务器的昵称。如果数据包到达的服务器不是指定的服务器,它应该丢弃引导请求。
我有三个类(BOOTPClient、BOOTPServer 和 BOOTPMessage)。到目前为止,我已经成功地将引导请求从客户端发送到服务器,服务器接收并开始处理它。
问题在这里:
这意味着:如果字符串不为空(在这种情况下,我们不关心它到达哪个服务器),请确保它是正确的服务器。如您所见,我在“|”之间打印了两个字符串 100% 确保没有空格或任何可能混淆比较的东西。然而,它进入 if 块并执行里面的句子。如果字符串与服务器名称相同且为空,则会发生这种情况。
澄清一下:btpmsg 是 BOOTPMsg 类的一个实例,服务器名称存储为一个字节数组(所有内容都使用 ByteArrayOutputStream 编码成一个字节数组,以便与 DatagramPacket 一起发送),然后转换为字符串。我不知道问题可能出在哪里。
输出示例:
服务器(用“java BOOTPServer bootpserver”调用):
客户:
我会很感激任何帮助,因为我不知道我还能寻找什么错误。我最好的选择是在 ByteArrayOutputStream 上使用“write”方法或在 DataInputStream 中使用 readFully,但所有其他参数都可以正常工作。提前非常感谢。
c++ - c++ - sprintf 错误“变量可能不安全”(C4996)......替代品?
这是我的代码:
我在 Windows 10 上使用 VS 2015。我正在尝试将网络适配器的 MAC 地址信息格式化为 MAC 地址 ( aa:bb:cc:dd:ee:ff
)。我已经尝试在我的陈述上方定义_CRT_SECURE_NO_WARNINGS
和禁用警告但没有成功。有什么我遗漏的,或者有人知道解决这个错误的不同方法吗?谢谢。4996
#include
sprintf
variable may be unsafe
python - 如何在 DHCP scapy 中为 BOOTP 提供客户端 mac?
clientMac = "00:00:01:00:11:03" bootp = BOOTP(op = opcode,chaddr = clientMac, ciaddr = "0.0.0.0",xid = 0x01020304,flags= 0x8000)
在这里,我尝试为 DHCP 提供数据包创建 bootp 部分。但是在抓包中,clientMac 显示为 30 30 3a 30 30 3a。我得到一个垃圾mac地址。当我将我原来的 clientmac 转换为 ascii 时,它以 30 30 3a 30 30 3a 的形式出现。IE,
在这里如何在 DHCP scapy 中为 BOOTP() 提供 clientMac?