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

 // 初始化WinSock
 nRet = WSAStartup(0x0101, &wsaData );
 if (nRet)
 {
  ::MessageBox(NULL, "WSAStartup() error:", "Error:", MB_OK);
  WSACleanup();
  FreeLibrary((HMODULE)hndlIcmp);
  return;
 }

 // 检查WinSock的版本
 if (0x0101 != wsaData.wVersion)
 {
  ::MessageBox(NULL, "No WinSock version 1.1 support found", "Error:", MB_OK);
  WSACleanup();
  FreeLibrary((HMODULE)hndlIcmp);
  return;
 }
 bValid = TRUE;
}  

  CPing类的析构函数完成相反的动作:

CPing::~CPing()
{
 WSACleanup();
 FreeLibrary((HMODULE)hndlIcmp);
}

  CPing类的Ping函数是最核心的函数,实现真正的ping操作:

int CPing::Ping(char *strHost)
{
 struct in_addr iaDest; // Internet地址结构体
 LPHOSTENT pHost; // 主机入口结构体指针
 DWORD *dwAddress; // IP地址
 IPINFO ipInfo; // IP选项结构体
 ICMPECHO icmpEcho; // ICMP Echo回复buffer
 HANDLE hndlFile; // IcmpCreateFile函数打开的句柄

 if (!bValid)
 {
  return FALSE;
 }

 //使用inet_addr()以判定ping目标为地址还是名称
 iaDest.s_addr = inet_addr(strHost);
 if (iaDest.s_addr == INADDR_NONE)
  pHost = gethostbyname(strHost);
 else
  pHost = gethostbyaddr((const char*) &iaDest, sizeof(struct in_addr),AF_INET);
  if (pHost == NULL)
  {
   return FALSE;
  }

  // 拷贝IP地址
  dwAddress = (DWORD*)(*pHost->h_addr_list);

  // 获得ICMP Echo句柄
  hndlFile = pIcmpCreateFile();

  // 设置发送信息缺省值
  ipInfo.Ttl = 255;
  ipInfo.Tos = 0;
  ipInfo.IPFlags = 0;
  ipInfo.OptSize = 0;
  ipInfo.Options = NULL;
  icmpEcho.Status = 0;

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

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

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

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 $