- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 13.7 原始套接字编程 Sniffer是网络中一种常见的嗅探技术。对于网络管理员而言,可以利用Sniffer来获取相关的网络流量情况,进而发现一些潜在的网络性能或者安全问题;而对于黑客而言,Sniffer则能够帮助他得到一些重要的数据,诸如用户名和密码或者其他的商业机密 Sniffer工作在用户看不见也注意不到的网络底层,隐蔽性极强 * 以太网是一种基于广播信道的通信网络,数据的发送是以广播方式来进行的 在正常情况下,网卡只接受两种数据帧: 1)和自己的MAC地址相匹配的数据帧 2)网络中的广播数据帧 只要网卡发现自己收到的数据帧和自己的MAC地址并不匹配,网卡就简单的将其抛弃,不做任何处理 * 以太网卡还有一种特殊的接收模式:混杂模式 在混杂模式下,网卡能够接收一切通过它的数据,而不管该数据是否是传给它的 实现Sniffer的两个条件: 1)需要一个共享式以太网环境 2)需要将网卡的接收模式设置为混杂模式 满足这两个条件后,就可以在网络中不动声色的来嗅探想要的数据了 * 需要将网卡设置为混杂模式。在Windows环境下面我们要用到一个函数:WSAIoctl int WSAIoctl ( SOCKET s, DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOUTBuffer, DWORD cbOUTBuffer, LPDWORD lpcbBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionROUTINE ); I/O控制命令 此处设为:SIO_RCVALL * 原始套接字编程示例 ---- 捕获用户名和密码 * * * * * * * * * 运行截图 * * * * * * * 广播/多播报文的发送 广播/多播报文的接收 13.6 UDP广播/多播编程 * 套接口选项 使用setsockopt 和getsockopt 函数可以设置或者读取套接口的选项值,这两个函数的定义如下: int setsockopt ( SOCKET s, int level, int optname, const char FAR *optval, int optlen ); int getsockopt (SOCKET s, int level , int optname , char FAR * optval , int FAR * optlen ); 参数说明: 参数s 是套接口描述字 level [IN/lN ]是套接口选项的级别 optname [IN/lN ]是用户指定的选项名称 optval [IN/OUT ]是一个指向变量的指针,它的大小由optlen [IN/OUT ]指定,通过optval 可以设置或者读取指定选项的值 如果没有错误发生,函数返回0 ;否则返回SOCKET_ERROR * 套接口选项 Winsock 的套接口选项主要有两种类型: 布尔型,用于启用或禁止套接口的某个属性; 选项参数,整型或者结构体,设置特定的值。 为了启用某个布尔型选项,optval 应指向某个非零整数,若要禁用,则指向一个零值整数,同时optlen 参数值应该等于布尔型大小,即sizeof ( BOOL ) ; 对于其他选项类型,optval 应指向整型或者结构体,optlen 值为整型或者结构体的大小。 Winsock 支持的全部选项级别有 SOL_SOCKET、 IPPROTO_lP 、IPPROTO_IPV6 、IPPROTO_RM 、IPPROTO_TCP 、IPPROTO_UDP 、NSPROTO_lPX 、SOL_APPLETALK 、SOL_IRLMP 。 * SOL_SOCKET级别的部分选项 ( 1 ) SO_BROADCAST , BOTH ,布尔型(BOOL )。用于允许/禁止发送广播报文。BOTH:该选项既可以设置也可以读取。 ( 2 ) SO _ RCVTIMEO , BOTH , struct timeval 结构型,用于设置数据接收超时值。 该选项用于在一个阻塞套接口为接收函数设定一个超时值。 当调用接收函数时,如果在SO _ RCVTIMEO指定的时间内没有数据到来,那么函数调用也会结束并且返回错误10060 ( WSAETIMEDOUT )。 ( 3 ) SO_ SNDTIMEO , BOTH , struct timeval 结构
您可能关注的文档
- 第12章 商业银行的财务管理和绩效评价1.ppt
- 第12章 数据库完整性控制.ppt
- 第四讲_就业形势与政策.ppt
- 第12章 销售与收款循环审计.ppt
- 第四讲标识技术.ppt
- 第12章 新型显示技术.ppt
- 第12章 印花税和契税法.ppt
- 第12章 再保险业务的经营管理1.ppt
- 第四讲--破坏市场经济秩序罪(一).ppt
- 第12章 中国对外经济贸易区.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)