找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6249|回复: 7

请教一个关于网络编程的问题

 火.. [复制链接]

5

主题

75

回帖

0

精华

管理员

积分
1353
发表于 2012-3-30 15:32:56 | 显示全部楼层 |阅读模式
是这样的,假设一台机器有两个网卡A和B,有一个软件每次启动的时候会往外广播一个UDP包。
如果禁用了B而只有A的工作的时候,软件可以正常工作。
如果A和B同时工作,则这个广播包会通过B发出去,软件就不正常了。

有什么方法可以在不修改软件本身的情况下,强制软件从A发广播包?

5

主题

75

回帖

0

精华

管理员

积分
1353
 楼主| 发表于 2012-3-30 16:55:07 | 显示全部楼层
软件启动,就自动向255.255.255.255这个地址的9303端口发送UDP包,还有向224.0.0.22这个地址发送IGMP包。
经过抓包,发现两个包都只用了B发送,而A没有发送。
如果禁用了B,则A会发送网络包,这样软件就正常了

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2012-4-3 20:36:31 | 显示全部楼层
帮顶........
我就是嗷嗷叫的老马了......

96

主题

158

回帖

4

精华

核心会员

积分
6513
发表于 2012-5-16 23:33:37 | 显示全部楼层
本帖最后由 diddom 于 2012-5-22 04:11 编辑

观看~

学习学习~

我比较好奇的是两张网卡的网路线都接到同一个switch

接到同一个switch後, submask也都一样吗?

因为一般我们在插多网卡时,一般在网路规划架构

submask会设定成255.255.0.0 和 255.255.255.0 成不同网域

不好意思,我这样问不知道对不对

也好奇同网域为何要两张网卡都启用,为何不禁用B网卡










5

主题

75

回帖

0

精华

管理员

积分
1353
 楼主| 发表于 2012-5-25 13:39:41 | 显示全部楼层
你错了,这并不是同局域网的。

这样说吧,机器本身有个网卡,对不对?充当A好了。

然后装个VMWARE,它会添加几个虚拟网卡的,对不对?随便一个充当B好了。

然后就出现上面的情况了。

5

主题

75

回帖

0

精华

管理员

积分
1353
 楼主| 发表于 2012-5-25 13:46:31 | 显示全部楼层
其实这个问题我已经解决了,找到一个不需要禁用网卡的方法。

例如网卡是192.168.1.1/255.255.255.0,

那么如果向本网段广播的时候,是向192.168.1.255/255.255.255.0这个地址发送广播包的。

有的时候,某个软件并不知道你具体的网段,就无法向192.168.1.255/255.255.255.0这个地址发送广播包了,因为你不一定是192.168.1.0这个网段的。

那怎么办呢?软件会向255.255.255.255/255.255.255.255这个地址发送广播包,这样完全不用理会你到底是哪个网段的,只有有人回应你的广播包,就可以知道你现在是处在哪个网段了。

可问题是,只要有一个网卡,并且这个网卡是有连接的,那么就会创建一个255.255.255.255/255.255.255.255的路由,当存在多个同样的路由时,默认是只有最后一个有效的。

所以,我那个情况,当同时存在A和B时,A才是软件需要用到的网络,而B不是。但B把A的那个255.255.255.255/255.255.255.255路由覆盖掉了,所以软件发的广播包是从B出去的,自然就不对了。

解决方法嘛,很简单,把B绑定的那个255.255.255.255/255.255.255.255路由删除掉,保证A的255.255.255.255/255.255.255.255路由为最后一个,自然就能解决问题了。

至于删除的方法嘛,你懂的,不用我说了。

估计以后还会有类似的问题出现的,所以发上来,记录一下,也好让大家参考吧。

另外就是,一般发广播包的,应该大部分都是用UDP协议,所以如果抓包的话,只需要抓UDP协议就可以了,这样就能很容易分析到原因。

96

主题

158

回帖

4

精华

核心会员

积分
6513
发表于 2012-5-26 00:28:49 | 显示全部楼层
本帖最后由 diddom 于 2012-5-26 03:54 编辑

很感谢你提供的资讯

请问你的设定都是在vmware里面设定吗, 还是Windows

因为我都用 VirtualBox 在跑 game or Virus, 我应该不会碰到这问题{:soso_e113:}

还有,我在猜你讲的广播包应该就是SMB

不好意思, 这样打扰你

5

主题

75

回帖

0

精华

管理员

积分
1353
 楼主| 发表于 2012-5-27 13:46:16 | 显示全部楼层
diddom 发表于 2012-5-26 00:28
很感谢你提供的资讯

请问你的设定都是在vmware里面设定吗, 还是Windows

vmware我没改网络设置,那个是默认的。

反正软件设置成这样,也是够SB的了

有的时候为了让小白可以方便使用,反倒给老黑知道了麻烦。

而如果小白的电脑接近老黑的环境,估计那个小白就无法正常使用了。

用户体验超级差啊,这是。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表