飞秋FeiQ的工作原理

powerchuangwai 2010-09-14 10:50:38
如题!

求飞秋FeiQ具体的工作原理


主要是通信与数据传输这方面
...全文
2022 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
BYD123 2012-10-21
  • 打赏
  • 举报
回复
摘自Google搜索:

飞鸽传书(IP Messenger)是一个小巧方便的即时通信软件,它适合用于局域网内甚至广域网间进行实时通信和文档共享。特别是在局域网内传送文件/文件夹的速度非常快!

原理:(1)最关键的是局域网用户列表的建立;飞鸽启动时使用UDP协议向255.255.255.255这个广播地址发送广播包,默认端口是2425。广播包内容包含用户名、工作组、主机名、IP等信息;
已启动飞鸽的用户通过2425端口收到此广播包后,就会在自己的用户列表中添加这个用户的用户名、工作组等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表;

(2)刷新用户列表时发送的广播包和启动时差不多,只不过返回的标识信息略有不同;可以做一个小工具,监控2425端口内存流,就能截获刷新和聊天时的消息,下图是截获的消息(已加密):

刷新时:

飞鸽传书的原理和一些资料

聊天时:

飞鸽传书的原理和一些资料

(3)传送聊天信息时同样使用UDP协议;由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,需要自己定义返回信息的标志来判断对方是否收到信息;

(4)用户离线时发送一个离线广播包到255.255.255.255,收到此广播包的用户,根据包中的IP地址(也可能是多种判断标志或者包含硬件标识,比如网卡地址等)删除对方的用户列表信息;

(5)广域网无法直接使用广播方式,靠手工添加"局域网外广播列表"来建立相互的关系;

(6)飞鸽传送文件是使用TCP协议,端口2425;

其他一些资料:

1.飞鸽使用C++语言,开发工具:Visual C++ 4.1, 6.0, or later;

2.飞鸽公开源码,在作者(来自日本广岛的白水啓章)和汉化者(阿志)网站下载源码,源码注释为日文;可以使用VC++修改、编译;

3.飞鸽传书是来自日本的软件,日文版是它的第一版本;此外还有中文,英文,韩文,葡萄牙文等语言;

4.飞鸽使用的加密算法:RSA、Blowfish、RC;

5.飞鸽可以使用命令行方式发送信息,命令格式如下:

ipmsg [端口] /MSG [/LOG][/SEAL] <主机名或IP地址> <消息>

可以使用IPMsg [端口] 命令改变默认端口,并同时启动多个实例,但是修改后只有使用相同端口的用户才能收到相互的信息;

6.飞鸽非安装版,并不是纯绿色软件,直接删除会在注册表留下垃圾键值;

* 飞鸽把所有设置信息都保存在注册表的以下位置: \\HKEY_CURRENT_USER\Software\HSTools\

用户密码以不可逆加密方式存储.

* 如果你忘记了密码, 可以在注册表中将此键值删除,清除密码*\\HKEY_CURRENT_USER\Software\HSTools\IPMsgEng\PasswordStr

7.飞鸽一次传送文件数达到几千个时,有丢失文件的可能,怀疑是飞鸽的一个bug,而传输大文件则没有问题;

8.飞鸽最稳定的正式版本是V2.09;目前v2.50 alpha6 版正在测试,尚未正式发布;其他如2.71,2007绿色版为修改版本,并非正版;
GeorgeShaw1 2011-07-24
  • 打赏
  • 举报
回复
都没有答到点子上,我也在研究中
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
飞鸽是基于socket实现的
V-Far 2010-09-14
  • 打赏
  • 举报
回复
参考飞鸽源码.初期版本是基于飞鸽修改的....
现在的就不知道了
fengxiaohan211 2010-09-14
  • 打赏
  • 举报
回复
不是飞秋吗?你去问问那个卢本陶吧
porschev 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 powerchuangwai 的回复:]
有源码吗?哪里可以找到?
[/Quote]

fetion网上好像没有源吗。。。以前好像也有人发帖要过源码的
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
有源码吗?哪里可以找到?
heaventohell17 2010-09-14
  • 打赏
  • 举报
回复
tcp协议加udp协议.......
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
知道 一个软件的实现原理怎么不这么难呀!
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
有人帮顶吗, 给分的。
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
分不多了,刚结了一个帖子,加到50分了。
MSDNXGH 2010-09-14
  • 打赏
  • 举报
回复
不是吧,就20分。。。。。。
辰爸 2010-09-14
  • 打赏
  • 举报
回复
应该是基于套接字编程实现的
powerchuangwai 2010-09-14
  • 打赏
  • 举报
回复
这个问题很难吗?
MSDNXGH 2010-09-14
  • 打赏
  • 举报
回复
再帮忙顶。。。。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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