关于BattleLAN(跨网关联网工具)的原理和编程实现

xxgamexx 2008-05-11 01:37:21
首先来介绍这款工具BattleLan(跨网关联机工具,利用的是TCP/IP连接),它能连接一个校园网内不在同一LAN的工具,我们用来连机打WAR3游戏的。

比如 A:172.18.78.61 MASK:255.255.255.0 Agateway:172.18.78.1
B: 172.18.84.34 MASK:255.255.255.0 Bgateway:172.18.84.1

B(WAR3主机),A -》启动BATTLELAN-》填写IP:172.18.84.34-》启动WAR3-》进入主机



上面是UDP包,BL搜索主机的UDP包



上面是TCP包 6112是WAR3的进程端口。
可以看到 172.18.84.24的TCP连接。

推测可能是通过转发广播报文的方式进行连接的。

1,如果是 编程如何实现(关键是转发技术,我们几个同学想写个类似的)。还望大虾们不吝发点资料给小弟。 小弟邮箱:19792488@qq.com

2,如果不是通过转发报文,那大虾们能给小弟讲讲到底是什么原理吗?我想大虾们不会见死不救吧?不要让偶误入迷途呀~~~

在这不胜感激了!
...全文
2400 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinrui5577 2009-09-17
  • 打赏
  • 举报
回复
我在做这个,开源! 已经有了,想加入的联系我就可以了 QQ:393191345

http://code.google.com/p/warpuber/
zykangkang 2008-12-17
  • 打赏
  • 举报
回复
大家好,我大四了,想做一个类似浩方的游戏平台,现在也在研究,希望能和你们共同学习,我的QQ:516996841
xxgamexx 2008-09-27
  • 打赏
  • 举报
回复
很多人感兴趣.... 在这顶下..


想跟 pk_for_ever 说声 对不起,最近学校事情比较多....所有没什么时间..抱歉!
solar2006 2008-07-10
  • 打赏
  • 举报
回复
小弟也有个想法,做个类似“魔兽局域网搜索器”的联机软件。
但是“魔兽局域网搜索器”在war3在开始游戏之后还是有用的,如果关掉它,游戏连接就中断了!但是我分析了抓取的数据包,的确在游戏开始后,双方主机都是通过6112端口直接发tcp包,而没通过搜索器。
war3在游戏开始后发的是tcp包,如何利用搜索器建立连接呢?到现在还没想明白!!!
如何分析数据包呢?你通过什么程序来接受处理数据包呢?我想用c实现,但现在如何才能得到网卡接口呢?如何才能将接收到的war3 udp数据包的内容提取出来并显示?
很想和你交流交流

能把你的qq给我吗?我的:271563785
xxgamexx 2008-07-09
  • 打赏
  • 举报
回复
有段时间没来了
xxgamexx 2008-06-17
  • 打赏
  • 举报
回复
楼上的能详细点吗 网上这方面的资料好象很难找~
zkmakelove 2008-05-22
  • 打赏
  • 举报
回复
感觉应该是battlelan完成对ingress方向sip的的影射修改。
因为游戏要求2个host的IP必须同一网段,所以只要把对方进来的报文的SIP翻译成本地网段的虚IP就行,egress再把DIP翻译为实IP。这样就能做到对传输层、应用层透明了。ethereal是看不到这个IP翻译动作的
但只是YY,可能不对,呵呵!
xxgamexx 2008-05-11
  • 打赏
  • 举报
回复
补充:
1:只要发送端开启BL(BattleLAN),能够进行飞鸽传输和各类游戏联网

2:通过反复抓包发现BL并不即时发送广播,按照SL的说法是利用WINHOOK监视WSOCK32.DLL,估计使用到SEND方法时BL再发送UDP到指定的目的IP。网关通过某种转发机制把这个包传达到目的地址,目的地址做出反映,使主机被认为是本地子网的机器。

现在关键想弄明白的是 如何构造这个UDP包,目的主机返回的内容是什么,源主机如何处理并把目的主机(另一子网的一台机器,如上面的172.18.84.34)当作本地子网机器
xxgamexx 2008-05-11
  • 打赏
  • 举报
回复
顶~

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧