Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9728081
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: C/C++

2008-04-23 21:43:24

基于IP/UDP协议的 sock 编程


作者:



在VC知识库我学到了很多知识,很短的时间我就掌握了vc,主要是在贵站下了很多源代码回来分析,学习。看了你处有人将net send封装进行消息群发的源代码,有看见网上某某公司消息群发软件要花钱才能购买,于是有感自己编写一个消息群发小程序。

特点:
vc源代码,基于IP/UDP协议的sock编程,按messager 服务的通信协议填写UDP数
据包,可在没有net send命令的win98 win95下实现消息发送,代码里含有messager 的通
信协议。并支持文本内容,ASCII文本图象发送。做广告很不错。在消息显示中可屏蔽自
己的主机名。
win2000/xp默认开着信使服务(messager),端口是135,网络通信方式采用ip/udp协议。一般这种服务使用于局域网,如果用代理就可绕过网关将消息发出去。
我们先来分析一下ip数据包的结构吧。

一个符合信使服务的数据包前面加上udp包头(8字节),就构成了udp包。udp包前面加上20个字节的ip包头,就构成了ip包。既是ip包里前28个字节是网络协议,从第29字节开始才是messager所接受的内容。以下简称消息包,消息包前80个字节为消息包头,当中第41到44字节为长整型变量,存放发送时间,第75到78字节为长整型,存放整个消息包-消息包头的大小。接下来3个域,每个域头大小12个字节,前4个和后4个字节(长整型)都为该域的大小(分配大小取偶),第一个域表示发送主机名,第二个表示接受主机名,第三个表示内容。*/

|=====20======|====8====|=========80============|=12=|from|=12=|to|=12=| 消息

///////////////////////////////////////////////////////////////////////
直接采用socket udp协议,发送消息无法隐藏自己的ip,别人用网络工具可查到你
的ip,如果前28个字节都自己加工,采用原始套接字方式进行发送,伪装了ip,不怕
查ip;^_^!

阅读(295) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~