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

  把32位的IP地址定义为上述联合体将使用户可以以字节、半字或字方式读写同一个IP地址。同志们,注意了,这个技巧在许多软件开发中定义数据结构时被广泛采用。

  为了控制包的发送方式,我们可能会用到如下的这个十分重要的函数来设置套接字选项:

int setsockopt(
 SOCKET s, //套接字句柄
 int level, //选项level,如SOL_SOCKET
 int optname, //选项名,如SO_BROADCAST
 const char* optval, //选项值buffer指针
 int optlen //选项buffer长度
);

  例如,当level为SOL_SOCKET时,我们可以设置布尔型选项SO_BROADCAST从而控制套接字是否传送和接收广播消息。

  下面的代码通过设置IPPROTO_IP level的IP_HDRINCL选项为TRUE从而使能程序员亲自处理IP包报头:

//设置 IP 头操作选项
BOOL flag = TRUE;
setsockopt(sd, IPPROTO_IP, IP_HDRINCL, (char*) &flag, sizeof(flag);

  下面的函数用于控制套接字:

int ioctlsocket(
 SOCKET s,
 long cmd, //命令
 u_long* argp //命令参数指针
);

  如下面的代码让socket接收所有报文(sniffer模式):

u_long iMode = 1;
ioctlsocket(sd, SIO_RCVALL, & iMode); //让 sockRaw 接受所有的数据

  Raw Socket发送报文

  发送报文的函数为:

int sendto(
 SOCKET s, //套接字句柄
 const char* buf, //发送缓冲区
 int len, //要发送的字节数
 int flags, //方式标志
 const struct sockaddr* to, //目标地址
 int tolen //目标地址长度
);

  或

int send(
 SOCKET s, //已经建立连接的套接字句柄
 const char* buf,
 int len,
 int flags
);

  send()函数的第1个参数只能是一个已经建立连接的套接字句柄,所以这个函数就不再需要目标地址参数输入。

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