问题:

我正在测试电缆故障查找软件的一部分,并且我希望在cat5电缆上可靠且可重复地生成电缆故障。

此刻,我正在使用一米长的未绞合电缆,并在电源旁手动扭动电缆,但是我无法检测到应用程序中的任何故障(我正在从以太网ASIC上读取以太网故障计数器。)这是因为没有产生故障,还是因为软件/硬件检测错误,所以我不知道。

有没有办法在软件中执行此操作?

我愿意用Java或python之类的高级语言编写某些东西,并且万不得已时愿意将其组合在C语言中,但是我真的不想纯粹地重写以太网驱动程序修复可能的错误。

[EDIT] :我要创建电缆故障-不能检测到它们。

[编辑] :我已经通过FTP和SCP传输了大文件,而电缆没有问题,并且在使用Wireshark检查流量时没有出现错误

[编辑] :另请参见 Python中的类似问题

解决方案:

好吧,花了一天的时间与C战斗之后,这才是python解决方案。

首先禁用以太网卡的自动校验和: 通用标签

然后,从python发送躲闪的帧: 通用标签

谁说必须很复杂...

PS:我爱Python。

有帮助吗?

解决方案

如果您使用C语言,则可以使用socket(AF_PACKET, SOCK_RAW, ...)发送原始以太网帧,并将其指针传递给您自己生成的原始缓冲区(例如,通过遵循维基百科)。

这已经很长时间了,所以我不会尝试编写具有代表性的代码段...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top