【发布时间】:2013-04-19 15:26:28
【问题描述】:
我正在尝试创建一个测试来验证 PHY 环回是否正常工作。用c语言在linux上开发。这基本上就是测试当前正在做的事情:
- 调出接口并确保其具有有效的 IP 地址
- 在 UDP 模式下创建两个套接字 (SOCK_DGRAM)
- 将两个套接字绑定到正在测试的特定接口
- 将传入套接字绑定到特定端口
- 使用 sendto 写入传出套接字,指定端口和 IP 地址
- 从传入的套接字读取
我遇到的问题是,无论是否启用环回,我总是在读回数据。该接口未连接到交换机,因此我不希望数据通过物理电缆返回。我怀疑堆栈会在数据到达 PHY 之前将数据路由回去。有什么方法可以确保数据包从接口物理发送出去?
【问题讨论】:
-
我怀疑我可能需要做的是发送一个目的地与接口地址不同的数据包。然后我必须观察接口是否有任何传入的数据包,甚至是不打算发送给它的数据包。一种原始的“嗅探”模式。