文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VBVB 从零开始编外挂(八)
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
热点TOP10
·vb 高手搜集-常见问题总结(1)
·vb高手搜集-常见问题总结(3)
·自己动手做一个数学函数作图器
·利用VB6.0实现五线谱作曲工具
·VB实现程序的隐形
·vb高手搜集-常见问题总结(2)
·vb高手搜集-常见问题总结4(终章)
·Visual Basic通信程序设计
·用VB编写记事本
·窗体控件大小随窗体大小变化而变化

VB 从零开始编外挂(八)

日期:2008年5月14日 作者: 查看:[大字体 中字体 小字体]


CopyMemory uip, ByVal pip, 4 '将 pip 的值放到 uip
s = inet_ntoa(uip) '将 uip 转换为标准的 IPV4 格式
ss = Space(lstrlen(s)) '去掉空格
cul = lstrcpy(ss, s)
ip = ss '获得 IPV4 格式的地址并将其放如 ip
End Function

'获得当前机器的主机名
Public Function hostname() As String
Dim r As Long
Dim s As String
Dim host As String

Wstartup
host = String(255, 0)
r = gethostname(host, 255) '获得当前主机的主机名

If r = 0 Then
hostname = Left(host, InStr(1, host, vbNullChar) - 1)
End If

End Function

'连接 IP
Public Sub Connecting(ByRef ip As String, pic As PictureBox)
Dim res As Long, buf As Long, bufb As Long
buf = 1

Wstartup '初始化 Winsock

s = socket(AF_INET, SOCK_RAW, 0) '创建套接字,s 是socket功能返回的文件描述符
If s < 1 Then
Call WCleanup(s)
Exit Sub '如果创建失败则退出
End If

sock.sin_family = AF_INET 'socket类型
sock.sin_addr = inet_addr(ip) '所用的IP地址
res = bind(s, sock, Len(sock)) '绑定端口

If res <> 0 Then
Call WCleanup(s)
Exit Sub '如果绑定失败则退出
End If

res = WSAIoctl(s, SIO_RCVALL, buf, Len(buf), 0, 0, bufb, ByVal 0, ByVal 0) '改变Socket IO模式,将其改为混乱模式,即接受与自己无关的数据,则 SIO_RCVALL

If res <> 0 Then
Call WCleanup(s)
Exit Sub
End If

res = WSAAsyncSelect(s, pic.hWnd, &H202, ByVal FD_READ) '设置套接字处于阻塞方式或者非阻塞方式,消息发送的窗口是 pic,即 Form1.Picture1

If res <> 0 Then
Call WCleanup(s)
Exit Sub
End If

End Sub

'接收信息
Public Sub Recibir(s As Long, ByVal RecFormat As Long)
If RecFormat = FD_READ Then
ReDim buffer(2000) '重定义缓冲区大小为 2000
Do
res = recv(s, buffer(0), 2000, 0&) '接收信息
If res > 0 Then

ReDim Preserve resarray(CountID) '改变数组大小,并保留以前的数据
str = buffer()
resarray(CountID) = res

CopyMemory Header, buffer(0), Len(Header) '将 buffer 里面的数据复制到 Header 结构里面

'根据IP头结构的标识来获得是什么类型的数据包,并将 IP 从头结构中分离出来
If Header.proto = 1 Then
protocol = "ICMP"
proticmp inversaip(Hex(Header.destIP)), inversaip(Hex(Header.sourceIP))
End If
If Header.proto = 6 Then
protocol = "TCP"
protcp inversaip(Hex(Header.destIP)), inversaip(Hex(Header.sourceIP))
End If
If Header.proto = 17 Then
protocol = "UDP"
proudp inversaip(Hex(Header.destIP)), inversaip(Hex(Header.sourceIP))
End If
End If
Loop Until res <> 2000
End If
End Sub

'将 16 进制转换为 IP 地址
Public Function inversaip(ByRef lng As String) As String

上一页 [1] [2] [3] [4] [5] 下一页 




上一篇:VB 从零开始编外挂(九)

下一篇:VB 从零开始编外挂(七)

相关文章:
·从零开始学黑客:网络黑客新手入门指南
·从零开始 无线网络终极应用宝典
·开始菜单不能用右键
·体验已开始 腾讯即将推出Mac版QQ
·Vista时代即将开始,XP退出舞台
·金融界CEO赵志伟:行业整合才刚刚开始
·金山毒霸2008开始公测 最新截图含下载
·QQ号码第二代密保开始启用
·价格大曝光 Vista最终版本已开始预定
·C++程序设计从零开始之何谓变量
相关软件:
·成功从底层开始
·从零开始学英语8CD完全版
·从零开始
·斯派罗传说-新的开始 汉化版
·生命由此开始
·17岁开始耍流氓
·在我的开始是我的结束
·一切从零开始
·02年高考优秀作文:历史从那一夜开始
·2007年12月开始执行的新大纲公布了

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot