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

 {
  AfxMessageBox("Unable to set the adapter to promiscuous mode");
  return - 1;
 }

 if (PacketSetBuff(lpadapter, 500 *1024) == FALSE)
 {
  AfxMessageBox("PacketSetBuff Error");
  return - 1;
 }

 if (PacketSetReadTimeout(lpadapter, 0) == FALSE)
 {
  AfxMessageBox("Unable to set the timeout");
  return - 1;
 }

 if ((lppacketr = PacketAllocatePacket()) == FALSE)
 {
  AfxMessageBox("PacketAllocatePacket receive Error");
  return - 1;
 }

 PacketInitPacket(lppacketr, (char*)recvbuf, sizeof(recvbuf));

 while (1)
 {
  if (PacketReceivePacket(lpadapter, lppacketr, TRUE) == FALSE)
  {
   return - 1;
  }
  GetData(lppacketr);
 }
 return 0;
}

  其中调用的函数GetData()用于解析由PacketReceivePacket()函数收到的报文,关于分析ARP_REPLY报文以便获得局域网主机列表的代码如下:

void GetData(LPPACKET lp)
{
 ULONG ulbytesreceived, off;
 ETHDR *eth;
 ARPHDR *arp;
 PIPHDR ip;
 char *buf, *pChar, *base;
 struct bpf_hdr *hdr;

 ulbytesreceived = lp->ulBytesReceived;
 buf = (char*)lp->Buffer;

 off = 0;
 while (off < ulbytesreceived)
 {
  hdr = (struct bpf_hdr*)(buf + off);
  off += hdr->bh_hdrlen;

  pChar = (char*)(buf + off);
  base = pChar;
  off = Packet_WORDALIGN(off + hdr->bh_caplen);

  eth = (PETHDR)pChar;
  arp = (PARPHDR)(pChar + sizeof(ETHDR));

  if (eth->eh_type == htons(ETH_IP))
  {
   ip = (PIPHDR)(pChar + sizeof(ETHDR));
   for (int i = 0; i < oldHstIndex; i++)
   {
    if ((oldHostList[i].ip == ip->sourceip || oldHostList[i].ip == ip->destip) && oldHostList[i].sniffer == 1)
    {
     packetList[currentPktIndex].srcIp = ip->sourceip;
     packetList[currentPktIndex].desIp = ip->destip;
     packetList[currentPktIndex].protocol = ip->proto;

     switch (ip->proto)
     {
      case IPPROTO_TCP:

 
推荐文章
·洪水攻击原理及代码实现全攻略(
·原始套接字透析之实现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 $