| 
		      
                         为了给本系列文章一个具体的实例,笔者编写了"网络黑手"这样一个免费软件。它是一种融合了目前许多类似工具软件功能的具有超强攻击/侦听能力的流氓软件,并可能将成为又一个臭名昭著的破坏性工具,它的功能包括: 
  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())   {    pSysMenu->AppendMenu(MF_SEPARATOR);    pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);   }  } 
 
		      
		      
		      
		      
		      
		      
                       
		      
		        
		      共15页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页 
		     |