使用 C#,我正在尝试建立 tcp 连接,然后将 tcp 数据包发送到远程设备
Socket sock = new Socket(System.Net.Sockets.AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress destAddress = IPAddress.Parse("10.30.5.222");
sock.Bind(new IPEndPoint(IPAddress.Any, 14500));
sock.Connect(destAddress, 14500);
发生的情况是我的程序发送了一个 ARP 请求,但远程设备将其丢弃。
远程设备仅接受具有特定 vLan Id 的 vLan 标记帧的根本原因。但是,我的 C# 代码发送没有 vlan 标记的以太网帧。
有没有办法发送 vLan 标记的帧?我读到了 pcapdotnet。但据我了解,它只发送单个数据包。这意味着我需要在代码中手动执行以下操作来建立连接:
- 发送ARP
- 接收ARP
- 发送同步
- 接收同步确认
- 发送确认
每次发送,碎片,...等都有同样的麻烦
有没有办法将我的通信配置为 vLan 标记,而无需逐包写入?(在 C# 中首选)