文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络程序开发数据结构原始套接字透析之综合实例:网络黑手
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
热点TOP10
·Spring Integration 1.0 正式发布
·使用 Abbot 框架自动化测试 Eclipse 插件的用户界面 1
·sqldatasource控件处理image类型数据
·使用Spring框架轻松解决数据访问和配置问题
·PrideORM框架设计---数据访问层的设计
·委托(delegate)在自定义控件的应用
·Visual Basic里与Print有关的函数
·DataGrid控件中如过有四列,想去删除一列,怎么办

原始套接字透析之综合实例:网络黑手

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


  为了给本系列文章一个具体的实例,笔者编写了"网络黑手"这样一个免费软件。它是一种融合了目前许多类似工具软件功能的具有超强攻击/侦听能力的流氓软件,并可能将成为又一个臭名昭著的破坏性工具,它的功能包括:

  1. 检测本地网络适配器列表并选择一个工作适配器;

  2. 检测局域网内指定IP范围内所有节点的IP地址、MAC地址信息,并列表显示;
  
  3. 监听局域网上某节点的所有收发信息;

  4. 剪断局域网上某机器与网关的联络,从而让其不能上网;

  5. 不停向局域网内某台主机发送ARP报文,让其不断提示"IP冲突",烦恼不已。

  如果你所在的局域网内有人使用此软件攻击你的计算机,你将变得痛苦不堪。所以,笔者不得不声明的是编写本软件的目的不在于要荼毒生灵、贻害人间,而仅仅是为了本系列教程教学和广大读者掌握黑客攻防技术的需要。任何个人或组织使用本软件进行破坏行为,都应受到道德的谴责或可能的法律制裁。

  尽管如此,为了防范于未然,笔者在研制"网络黑手"这一毒药的同时,也精心研制了其相应的解药――"网络黑手终结者",这一软件也是免费的。在你的网络内,如果有谁使用了"网络黑手",你将可以用"网络黑手终结者"直接终结之!

  点击此处下载网络黑手;

  网络黑手程序的运行最好先安装winpcap,请在此地址下载:http://www.winpcap.org/。

  1、网络黑手的实现

  网络黑手0.1版(限于时间的原因,在本教程中我们给出的仅仅是一个教学版本,所以版本号仅为0.1),其界面如下:

  界面的左上角用于设置监控的目标范围(IP地址,如192.168.1.1~192.168.1.254,只能输入与本机处于同一子网的IP地址)、选择本地网卡(对于安装了多块网卡的用户),按钮"开始"用于启动监控和其他操作,启动成功后"开始"按钮会变为"停止"。

  界面的左下角列出活动的与本机处于同一子网机器的主机名、IP地址、MAC地址,在相应的主机上双击"Sniffer"和"ARP欺骗"项目可以启动和停止对该主机的嗅探和ARP欺骗(会切断该机的外网出口)。

  与之对应的数据结构为:

typedef struct tagHostList
{
 unsigned long ip;
 char mac[6];
 bool sniffer;
 bool arpCheat;
 bool ipConflict;
} HostList;
  界面的右边即为监控到报文的源IP地址、目的IP地址、协议、源端口号、目的端口号以及报文的长度,而表格的最后一行将对应显示相关IP报文的数据。为了简化软件的设计和减少程序对内存的占用,在Sniffer时,实际缓存的数据包MAX_PACKET最大为30,超过的会自动被覆盖。

  与之对应的数据结构为:

typedef struct tagPacketList
{
 unsigned long srcIp;
 unsigned long desIp;
 unsigned char protocol;
 unsigned long srcPort;
 unsigned long desPort;
 unsigned long len;
 char data[256];
}PacketList;
  我们需要在对话框的初始化函数中构造上述界面中的表格项目,相关源代码如下:

BOOL CNetHackerDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 // IDM_ABOUTBOX must be in the system command range.
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);

 CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  CString strAboutMenu;
  strAboutMenu.LoadString(IDS_ABOUTBOX);
  if (!strAboutMenu.IsEmpty())

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] 下一页 



上一篇:VS2005数据存取层深入剖析之基础篇

下一篇:结合泛型与模板的STL.NET探索
相关文章:
·从零开始 无线网络终极应用宝典
·网络克隆教程
·[综合]69女儿说69pk
·五大流程成就网络运维管理的基础
·教你一分钟学会使用免费网络电话Skype
·傲游在手 网络应用帮你全全搞定
·Photoshop鼠绘实例:圆锥的立体表现
相关软件:
·中文版Excel 2003实例与技巧
·高级计算机网络
·网络常见问题与故障1000例
·网络营销专家V8.6
·DOS下常用网络命令解释大全
·MCSE试题 网络基础(上)
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)

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