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

   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }

 // Set the icon for this dialog. The framework does this automatically
 // when the application's main window is not a dialog
 SetIcon(m_hIcon, TRUE); // Set big icon
 SetIcon(m_hIcon, FALSE); // Set small icon

 // TODO: Add extra initialization here
 
 int i = 0;
 char errbuf[PCAP_ERRBUF_SIZE];
 /* 取得列表 */
 if (pcap_findalldevs(&alldevs, errbuf) == - 1)
 {
  MessageBox("获得网络适配器列表失败,请确认您正确安装了WINPCAP!", "网络黑手", MB_ICONEXCLAMATION);
  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);
 }

 m_hostList.Create(CRect(12, 114, 435, 322), this, 1000);
 m_hostList.SetCols(4);
 m_hostList.SetRows(16);

 for (i = 0; i < 16; i++)
 {
  m_hostList.SetRowHeight(i, 13);
  for (int j = 0; j < 5; j++)
  {
   m_hostList.SetAlignment(i, j, DT_CENTER);
  }
 }
 m_hostList.SetColWidth(0, 120);
 m_hostList.SetColWidth(1, 140);
 m_hostList.SetColWidth(2, 100);
 m_hostList.SetColWidth(3, 62);
 m_hostList.SetColWidth(4, 62);

 m_hostList.SetText(0, 0, "IP地址");
 m_hostList.SetText(0, 1, "MAC地址");
 m_hostList.SetText(0, 2, "是否网络黑手");
 m_hostList.SetText(0, 3, "黑手状态");

 return TRUE; // return TRUE unless you set the focus to a control
}

  简单的修改ARP请求函数的目标地址:

void SendArpReq(unsigned long srcIp,unsigned long desIp,UCHAR * srcMac)
{
 //…
 eth.eh_dst[5]=0xfe;
 //…
}

  GetData()函数则不再需要侦听报文:

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

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

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