排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)

排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)

by:授客 QQ1033553122

问题描述:

tcpreplay回放.pcap报文出现如下错误

Warning: Unable to send packet: Error with PF_PACKET send() [215]: Message too long (errno = 90)

Warning: Unable to send packet: Error with PF_PACKET send() [215]: Message too long (errno = 90)

Warning: Unable to send packet: Error with PF_PACKET send() [215]: Message too long (errno = 90)

 

wireshake打开数据包,可以看到数据包长度,其中有超过1w的,已经超过了MTU值(MTU默认为1500),所以问题的解决方法是修改系统的MTU值。

723 0.076477    10.130.39.1 10.130.39.9 TCP 52191 > cvmmon [PSH, ACK] Seq=75174 Ack=1 Win=65535 Len=11546

 

解决方法:

修改发送数据包网卡的MTU

例:

# ifconfig eth3 mtu 9216

 

重新发包

#tcpreplay -i eth3 -t -l 1 xx.pcap

发现正常发包了

 

说明:

每一种链路层协议都规定了帧的数据部分的长度上限--最大传送单元(MTU,Maximum Transfer Unit),如下

排错-tcpreplay回放错误:send() <wbr>[218] <wbr>Message <wbr>too <wbr>long <wbr>(errno <wbr>= <wbr>90)

 

 

 

posted @   授客  阅读(4777)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示