网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > 安全编程 > 网络编程 > 文章  
原始套接字透析之综合实例:网络黑手
文章来源: 天极开发 文章作者: 宋宝华 发布时间: 2006-11-17   字体: [ ]
 

 if (startRow > endRow || startCol > endCol) return -1;

 for (int i = startRow; i <= endRow; i++)
 {
  for (int j = startCol; j <=endCol; j++)
  {
   cells [i * cols + j].SetSpan(0,0);
  }
 }
 cells [startRow * cols + startCol].SetSpan(endRow - startRow+1, endCol - startCol+1);
 return 0;
}

  其"反函数"为:

int XTable::UnjoinCells (int row, int col)
{
 if (row < 0 || row >= this->rows) return -1;
 if (col < 0 || col >= this->cols) return -1;

 if (cells [row * cols + col].rowSpan <= 1 && cells [row * cols + col].colSpan <= 1 )
  return -1;

 for (int i = row; i <= row + cells [row * cols + col].rowSpan; i++)
 {
  for (int j = col; j <= cells [row * cols + col].colSpan; j++)
  {
   cells[i*cols+j] = defaultCell;
   cells [i * cols + j].SetSpan(1,1);
  }
 }
 return 0;
}

  程序中的IDC_ADAPTERLIST_COMBO控件用于提供用户选择本地适配器,获得本地适配器列表的代码如下(也处于对话框的初始化函数中):

char errbuf[PCAP_ERRBUF_SIZE];
/* 取得列表 */
if (pcap_findalldevs(&alldevs, errbuf) == - 1)
{
 AfxMessageBox("获得网卡列表失败!\n");
 GetDlgItem(IDC_STARTSTOP_BUTTON)->EnableWindow(FALSE);
}

/* 输出列表 */
for (d = alldevs; d; d = d->next)
{
 CString str(d->name);
 if (str.Find("\\Device\\NPF_Generic", 0) == - 1)
  m_adapterList.AddString(str);
}

  给监控IP地址范围内的主机发送ARP请求包并获取反馈,即可获得监控范围内活动机器的IP地址和MAC地址,以进行进一步地管理。

  发送ARP请求的函数代码:

void SendArpReq(unsigned long srcIp,unsigned long desIp,UCHAR * srcMac)
{
 char sendbuf[1024];
 ETHDR eth;
 ARPHDR arp;

 memcpy(eth.eh_src,mmac,6);
 eth.eh_type=htons(ETH_ARP);

 arp.arp_hdr=htons(ARP_HARDWARE);
 arp.arp_pro=htons(ETH_IP);
 arp.arp_hln=6;
 arp.arp_pln=4;
 arp.arp_opt=htons(ARP_REQUEST);
 arp.arp_spa=htonl(srcIp);
 arp.arp_tpa=htonl(desIp);
 memcpy(arp.arp_sha,srcMac,6);

 for(int i=0;i<6;i++)
 {
  eth.eh_dst[i]=0xff;

 
推荐文章
·洪水攻击原理及代码实现全攻略(
·原始套接字透析之实现IP地址欺骗
·原始套接字透析之ARP欺骗
·原始套接字透析之实现包分析
·原始套接字透析之实现sniffer
·原始套接字透析之实现路由欺骗
·原始套接字透析之ICMP拒绝服务攻
·原始套接字透析之实现Ping
·原始套接字透析之Raw Socket基础
·黑客之旅 -- 原始套接字透析之前
 

 
共15页: 上一页 [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·原始套接字透析之Raw So
·原始套接字透析之ARP欺
·洪水攻击原理及代码实现
·原始套接字透析之实现Pi
·黑客之旅 -- 原始套接字
·原始套接字透析之实现路
·原始套接字透析之实现包
·原始套接字透析之ICMP拒
相关分类
相关文章
·洪水攻击原理及代码实现
·原始套接字透析之实现IP
·原始套接字透析之ARP欺
·原始套接字透析之实现包
·原始套接字透析之实现sn
·原始套接字透析之实现路
·原始套接字透析之ICMP拒
·原始套接字透析之实现Pi
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $