网络安全参考 | 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   字体: [ ]
 

  // Operations
 public:
  CIcmp(void);
  CIcmp(CIcmp &copy);
  ~CIcmp(void);
 public:
  // I/O Buffer Pointers
  LPIcmpHeader pIcmpHeader;
  LPIpHeader pIpHeader;

  SOCKET icmpSocket;
  SOCKADDR_IN icmpSockAddr;
  SOCKADDR_IN rcvSockAddr;
  DWORD icmpRoundTripTime;
  DWORD icmpPingSentAt;
  DWORD icmpPingReceivedAt;

  int icmpRcvLen;
  int icmpHops;
  int icmpMaxHops;
  int icmpCurSeq;
  int icmpCurId;
  int icmpPingTimer;
  int icmpSocketError;
  int icmpSocketErrorMod;
  unsigned long icmpHostAddress;
 protected:
};

  初始化网络连接的函数:

BOOL CIcmp::Connect(LPINT ReceiveTimeout, LPINT SendTimeout, int AFamily, int AType, int AProtocol)
{
 int Result;
 icmpSocket = NULL;
 icmpSocket = socket(AFamily, AType, AProtocol);

 if (icmpSocket == INVALID_SOCKET)
 {
  icmpSocketError = WSAGetLastError();
  icmpSocketErrorMod = 1;
  return FALSE;
 }

 //
 // Set receive timeout
 //

 Result = setsockopt(icmpSocket, SOL_SOCKET, SO_RCVTIMEO, (char*)ReceiveTimeout, sizeof(int));
 if (Result == SOCKET_ERROR)
 {
  icmpSocketError = WSAGetLastError();
  icmpSocketErrorMod = 2;
  closesocket(icmpSocket);
  icmpSocket = INVALID_SOCKET;
  return FALSE;
 }

 //
 // Set send timeout
 //
 Result = setsockopt(icmpSocket, SOL_SOCKET, SO_SNDTIMEO, (char*)SendTimeout,sizeof(int));
 if (Result == SOCKET_ERROR)
 {
  icmpSocketError = WSAGetLastError();
  icmpSocketErrorMod = 3;
  closesocket(icmpSocket);
  icmpSocket = INVALID_SOCKET;
  return FALSE;
 }
 icmpCurSeq = 0;
 icmpCurId = (USHORT)GetCurrentProcessId();
 icmpHops = 0;

 return TRUE;
}

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