【急问】板子tcp client使用固定IP,先上电,服务器PC后上电,就连不上

发布于 2015-10-14 19:14:33    浏览:2003
发现这样个问题,如果板子tcp client使用固定IP,先上电,然后每隔5s发送一次SYN.
服务器PC后上电,发现服务器能够收到SYN,并回应了SYN ACK。但client就是没有收到该SYN ACK。
client可以收到别的IP发来的广播数据。

如果换做使用DHCP,就连接正常。好困惑。
33.jpg
31.jpg
32.jpg

查看更多

8 个回答
bernard
bernard 2015-10-14
This guy hasn't written anything yet
自己用wireshark抓包分析,如果依然有问题,找找PHY的问题吧
mermew
mermew 2015-10-15
This guy hasn't written anything yet
用wireshark抓包后发现,可能是服务器回复间隔时间太久了
[attach]0[/attach]
服务器响应SYN ACK时与客户端第一次发送SYN间隔3.16s,是不是太长了。
不知道该怎么处理?怎样修改lwip 握手的等待时间?


------------------------------------------------
但仔细发现,也有响应速度快的回复。但客户端就是收不到这个SYN ACK,连ip包都没接受到。
aozima
aozima 2015-10-15
拒绝白嫖,拒绝键盘侠!
在驱动中打开dump(没有就添加dump代码),确认板子是否有正确收到相应的包。
mermew
mermew 2015-10-15
This guy hasn't written anything yet
在驱动中打开dump(没有就添加dump代码),确认板子是否有正确收到相应的包。


我把phy rx_data 每一包的数据都打印了出来,没有找到ACK的包。
倒是收到很多广播数据。
mermew
mermew 2015-10-15
This guy hasn't written anything yet
在驱动中打开dump(没有就添加dump代码),确认板子是否有正确收到相应的包。


终于发现问题所在了,原来是服务器 回复的mac帧,目标地址并不是客户端的mac地址。
这是服务器收到的SYN 包地址:
31.jpg
这是服务器返回的SYN ACK包 地址:
32.jpg

可以看到发送的目的地址并不是收到的源地址,真搞不懂
aozima
aozima 2015-10-15
拒绝白嫖,拒绝键盘侠!
检查MAC地址是否合法,如变成多播地址。
检查局域网是否有IP冲突
检查局域网是否有ARP攻击
PC执行 arp -a 可以列出所有MAC地址,可以清空并抓包ARP过程。

你的MAC 00-cf-52 是没有注册的,但并不非法。
而发往的那个目标地址是
BC-30-5B   (hex)		Dell Inc.
BC305B (base 16) Dell Inc.
One Dell Way, MS RR5-45
Round Rock Texas 78682
UNITED STATES
mermew
mermew 2015-10-15
This guy hasn't written anything yet
检查MAC地址是否合法,如变成多播地址。
检查局域网是否有IP冲突
检查局域网是否有ARP攻击
PC执行 arp -a 可以列出所有MAC地址,可以清空并抓包ARP过程。

你的MAC 00-cf-52 是没有注册的,但并不非法。
而发往的那个目标地址是
BC-30-5B   (hex)		Dell Inc.
BC305B (base 16) Dell Inc.
One Dell Way, MS RR5-45
Round Rock Texas 78682
UNITED STATES



我修改了我的固定IP,问题解决了。哦,多谢你的帮助!!
万分感激!!!!

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
2k

发布
问题

分享
好友

手机
浏览

扫码手机浏览