排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)
排錯-tcpreplay回放錯誤:send() [218] Message too long (errno = 90)
by:授客 QQ:1033553122
問題描述:
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),如下
?
?
?
轉載于:https://www.cnblogs.com/shouke/p/10158093.html
總結
以上是生活随笔為你收集整理的排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习之约瑟夫环的两中处理方法
- 下一篇: iOSbase64