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

  在进入Raw Socket多种强大的应用之前,我们先讲解怎样建立一个Raw Socket及怎样用建立的Raw Socket发送和接收IP包。

  建立Raw Socket

  在Windows平台上,为了使用Raw Socket,需先初始化WINSOCK:

// 启动 Winsock
WSAData wsaData;
if (WSAStartup(MAKEWORD(2, 1), &wsaData) != 0)
{
 cerr << "Failed to find Winsock 2.1 or better." << endl;
 return 1;
}

  MAKEWORD(2, 1)组成一个版本字段,2.1版,同样的,MAKEWORD(2, 2)意味着2.2版。MAKEWORD本身定义为:

inline word MakeWord(const byte wHigh, const byte wLow)
{
 return ((word)wHigh) << 8 | wLow;
}

  因此MAKEWORD(2, 1)实际等同于0x0201。同样地,0x0101可等同于MAKEWORD(1, 1)。

  与WSAStartup()的函数为WSACleanup(),在所有的socket都使用完后调用,如:

void sock_cleanup()
{
 #ifdef WIN32
  sockcount--;
  if (sockcount == 0)
   WSACleanup();
 #endif
}

  接下来,定义一个Socket句柄:

SOCKET sd; // RAW Socket句柄

  创建Socket并将句柄赋值给定义的sd,可以使用WSASocket()函数来完成,其原型为:

SOCKET WSASocket(int af, int type, int protocol, LPWSAPROTOCOL_INFO
lpProtocolInfo, GROUP g, DWORD dwFlags);

  其中的参数定义为:

  af:地址家族,一般为AF_INET,指代IPv4(The Internet Protocol version 4)地址家族。
  type:套接字类型,如果创建原始套接字,应该使用SOCK_RAW;
  Protocol:协议类型,如IPPROTO_TCP、IPPROTO_UDP等;
  lpProtocolInfo :WSAPROTOCOL_INFO结构体指针;
  dwFlags:套接字属性标志。

  例如,下面的代码定义ICMP协议类型的原始套接字:

sd = WSASocket(AF_INET, SOCK_RAW, IPPROTO_ICMP, 0, 0, 0);

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

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

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·原始套接字透析之ARP欺
·洪水攻击原理及代码实现
·原始套接字透析之综合实
·原始套接字透析之实现Pi
·黑客之旅 -- 原始套接字
·原始套接字透析之实现路
·原始套接字透析之实现包
·原始套接字透析之ICMP拒
相关分类
相关文章
·原始套接字透析之实现Pi
·黑客之旅 -- 原始套接字
·原始套接字透析之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 $