1 / 20
文档名称:

sniffer设计与实现.doc

格式:doc   大小:897KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sniffer设计与实现.doc

上传人:AIOPIO 2020/7/10 文件大小:897 KB

下载得到文件列表

sniffer设计与实现.doc

文档介绍

文档介绍:信息安全专业程序实践四网络安全与网络管理实践报告软件学院 实验成绩表2010年版实践目的掌握sniffer程序原理;学****Wincap编程能够使用Wincap实现数据包的捕获设计和实现一个sniffer程序掌握ARP欺骗原理,并能够实施ARP欺骗实践内容(1)使用Winpcap实现数据包的捕获:;(2)分析数据包:处理捕获的数据包,解析出其协议类型、源MAC地址、目的MAC地址、源IP地址、目的IP地址、源端口、目的端口和数据部分,然后将这些信息保存在文件中。最终根据文件内容统计以下协议的数据流量:网络层:IP,ICMP;传输层:TCP,UDP。(3)将捕获的信息存放在数据库中,根据捕获的信息进行流量统计;(4)ARP欺骗:截获网络上的数据包,对其进行分析,获取源和目的地址,用该数据包的目的IP地址来伪装自己的IP地址,并按照ARP报文格式,对该数据包的发送者发送ARP欺骗包,并验收ARP欺骗成功。(5)界面化:利用MFC构建图形界面,便于用户操作。实践过程Sniffer网络嗅探器使用MFC构建图形界面,工程基于对话框模式建立。工程共有两个对话框,分别为主对话框IDD_WINCAPA_DLG,其类名为CWincapaDlg,以及新建的对话框IDD_DIALOG,其类名为CAdapaterSelDlg,其作用是在进入主对话框之前选择网卡设备。类CAdapaterSelDlg:如截图显示,boBox控件,boBox的变量m_selAdapter,在类CAdapaterSelDlg中定义了一个public的变量intm_selIndex。在ClassWizard中添加三个成员函数: virtualvoidOnOK();//把选中的设备的序号赋值到m_selIndex中 virtualBOOLOnInitDialog();//初始化对话框,把已经查找出来的网络设备显示在下拉列表中 virtualvoidOnCancel();//弹出对话框,并退出程序获取本地网卡列表所使用的函数以及代码在实验指导书中都有,这里就不过多介绍了。主对话框:主对话框中使用了checkbox控件,listcontrol控件,以及五个button控件。在ClassWizard里定义变量:listcontrol控件变量CListCtrl m_list,BOOL型的checkbox变量m_arpFilter;m_icmpFilter;m_ipFilter;m_tcpFilter;m_udpFilter。:structETHDR{//以太网头部u_chareh_dst[6];u_chareh_src[6];u_shorteh_type;//IP?ARP?};typedefstructip_header{/*IPv4header*/u_charver_ihl;//Version(4bits)+headerlength(4bits)u_chartos;//Typeofserviceu_shorttlen;//Totallengthu_shortidentification;//Identificationu_shortflags_fo;//Flags(3bits)+Fragmentoffset(13bits)u_charttl;//Timetoliveu_charproto;//Protocolu_shortcrc;//Headerchecksumu_intsaddr;//Sourceaddressu_intdaddr;//Destinationaddressu_intop_pad;//Option+Padding}ip_header;structTCPPacketHead{/*TCPheader*/ u_shortSourPort; u_shortDestPort; u_intSeqNo; u_intAckNo; u_charHLen; u_charFlag; u_shortWndSize; u_shortChkSum; u_shortUrgPtr;};structUDPPacketHead{/*UDPheader*/u_shortsport;//Sourceportu_shortdport;//Destinationportu_shortlen;//Datagramlengthu_shortcrc;//Checksum};structICMPPacketHead{/*ICMPheader*/ u_chartype; u_charcode; u_shortchkSum;};typedefstructARP_header{//ARPheader u_charhardware; u_charproto;//Protocol u_sho