当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 嗅探器(sniffer)是一种刺探网络中传输数据的工具。
 

 

    摘要:  在vc环境下,mfc console程序默认行为是单线程工作环境。我们在“工程->设置->c\c++”下的code generation选项中,将use run-time library设为multithreaded(多线程)。也可以在当前当前的project options 中加入“/mt”。(表示使用多线程版本的c runtime函数库) #include #include ......
 ·使用visual c++实现ole剪贴板     »显示摘要«
    摘要:使用visual c++实现ole剪贴板 南京市随园8-2号702室 王珂---- 一、概述 ---- 在windows操作系统中存在两种剪贴板机制:windows标准剪贴板和ole剪贴板机制。 ---- 标准的windows剪贴板是一个被所有windows应用程序共享的系统服务,因此它并没有自己的句柄或类。但你可以通过cwnd类的成员函数来管理剪贴板。 ---- 自从ole(object lin......


基于ARP欺骗的嗅探原理

    嗅探器(sniffer)是一种刺探网络中传输数据的工具.为达到这一目的,一般的做法是设置网卡为混杂模式,这样就可以嗅探到所有经过本机网卡的数据(这种一般的sniffer原理不在此阐述).但是这种sniffer有一个缺点,就是它只适用于共享式局域网,对于交换式局域网无效.因为在交换式局域网中,网络中的数据并不会经过每一台主机的网卡,所以对于交换式局域网,就要用另外一种更为主动的方法去嗅探,那就是基于arp欺骗的嗅探.    我们假设有三台主机a,b,c位于同一个交换式局域网中,攻击者处于主机a,而主机b,c正在通信.现在a希望能嗅探到b->c的数据,于是a就可以伪装成c对b做arp欺骗——向b发送伪造的arp应答包,应答包中ip地址为c的ip地址而mac地址为a的mac地址.这个应答包会刷新b的arp缓存,让b认为a就是c,说详细点,就是让b认为c的ip地址映射到的mac地址为主机a的mac地址.这样,b想要发送给c的数据实际上却发送给了a,就达到了嗅探的目的.另外,由于arp缓存是动态更新的,因此,我们要不断的向b发送伪造的arp应答包,以防止b的arp缓存中的ip-mac映射关系被c改回来.(这里涉及到arp欺骗的知识,如果对此有疑惑,请查阅相关资料.)当然,这样嗅探之后,本应接收到数据的c就不能接收到b发送过来的数据了,也就是说,b与c的通信相当于被中断了.因此,我们在嗅探到数据后,还必须将此数据转发给c,这样才能保证b,c的通信不被中断.    以上就是基于arp欺骗的嗅探基本原理,在这种嗅探方法中,嗅探者a实际上是插入到了b->c中,b的数据先发送给了a,然后再由a转发给c,其数据传输关系如下所示:                b----->a----->c                b<------------c  当然,如果你还想嗅探到c->b的数据,还可以将a插入到c->b中,这样,就能嗅探到b,c间通信的全部数据了.    下面,还是用具体的代码来说明问题.在这个代码中,涉及到了iphlpapi与winpcap的编程,请查阅相关资料:

#pragma comment(lib, "packet.lib")#pragma comment(lib, "ws2_32.lib")#pragma comment(lib,"iphlpapi.lib") 【程序编程相关: 结合ADO、ADOX和MFC的文档/视

#include "stdafx.h"#include "winsock2.h"#include "packet32.h"#include "wchar.h"#include "stdio.h"#include "iphlpapi.h" 【推荐阅读:结合ADO、ADOX和MFC的文档/视图

#pragma pack(push, 1) 【扩展信息:线程学习笔记(2)-互斥对象

#define ndis_packet_type_directed 0x0001 //直接模式

typedef struct _et_header    //以太网头部{    unsigned char   eh_dst[6];      unsigned char   eh_src[6];    unsigned short  eh_type;}et_header;


...   下一页
 ·cximage类库的简介    »显示摘要«
    摘要:在向大家介绍cximage类库之前,先向大家推荐一个优秀的站点: http://www.codeproject.com。这个站点有很多值得收藏的文章和源码。本文就是根据此站点相关信息写成。 cximage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如openil,freeimage,paintlib等等,它们可谓是功能强大,齐全,没......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE