全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
集美大学计算机工程学院实验报告课程名称:tcp/ip协议与通信程序设计班级:实验成绩:实验项目名称:网络嗅探器的编程仿真学号:上机实践日期:2016-06-14实验项目编号:12组号:1上机实践时间: 2学时一、 实验目的了解利用原始套接字进行通信程序的编写,编译和执行。二、 实验内容与设计思想利用原始套接字编程将网卡设置为混杂模式,对网络上传输的数据包进行捕获与分析,要求析出并显示数据包的发送端ip地址以及接收端的ip地址。三、 实验使用环境操作系统: microsoft windows xp sp2编程环境: visual c+ 6.0四、实验步骤和调试过程源代码:#include initsock.h#include protoinfo.h #include #include mstcpip.h#pragma comment(lib, advapi32.lib)cinitsock thesock;/解析tcp数据void decodetcppacket(char *pdata)tcpheader *ptcphdr = (tcpheader *)pdata;printf( port: %d - %d n, ntohs(ptcphdr-sourceport), ntohs(ptcphdr-destinationport);/ 下面还可以根据目的端口号进一步解析应用层协议switch(:ntohs(ptcphdr-destinationport)case 21:break;case 80:case 8080:break;/解析ip数据void decodeippacket(char *pdata)ipheader *piphdr = (ipheader*)pdata;in_addr source, dest;char szsourceip32, szdestip32; printf(nn-n);/ 从ip头中取出源ip地址和目的ip地址source.s_un.s_addr = piphdr-ipsource;dest.s_un.s_addr = piphdr-ipdestination;strcpy(szsourceip, :inet_ntoa(source);strcpy(szdestip, :inet_ntoa(dest);printf(%s - %s n, szsourceip, szdestip);/ ip头长度int nheaderlen = (piphdr-iphverlen & 0xf) * sizeof(ulong);switch(piphdr-ipprotocol)case ipproto_tcp: / tcp协议decodetcppacket(pdata + nheaderlen);break;case ipproto_udp:break;case ipproto_icmp:break; void main()/ 创建原始套节字socket sraw = socket(af_inet, sock_raw, ipproto_ip);/ 获取本地ip地址char szhostname56;sockaddr_in addr_in;struct hostent *phost;gethostname(szhostname, 56);if(phost = gethostbyname(char*)szhostname) = null)return ;/ 在调用ioctl之前,套节字必须绑定addr_in.sin_family = af_inet;addr_in.sin_port = htons(0);/将本地ip复制到addr_in结构体memcpy(&addr_in.sin_addr.s_un.s_addr, phost-h_addr_list0, phost-h_length);/ip转换为字符串输出printf( binding to interface : %s n, :inet_ntoa(addr_in.sin_addr);if(bind(sraw, (psockaddr)&addr_in, sizeof(addr_in) = socket_error)/return;/ 设置sio_rcvall控制代码,以便接收所有的ip包dword dwvalue = 1;/设置原始套接字能接收所有数据if(ioctlsocket(sraw, sio_rcvall, &dwvalue) != 0)/return ;/ 开始接收封包char buff1024;int nret;while(true)nret = recv(sraw, buff, 1024, 0);if(nret 0)decodeippacket(buff);closesocket(sraw);执行结果:查看本地的ip五、实验小结1. 为了使网卡接收所有经过它的封包,要将网卡设置为混杂模式,具体是在创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东铁投集团社会招聘(63人)笔试历年备考题库附带答案详解试卷3套
- 2025安徽芜湖市市属国有企业招聘笔试历年典型考点题库附带答案详解试卷3套
- 2025年及未来5年中国工业炸药行业市场供需格局及行业前景展望报告
- 2025中央结算公司博士后科研工作站招聘笔试历年常考点试题专练附带答案详解试卷3套
- 定向公务员考试秘诀试题及答案
- 储能设备智能化控制方案
- 建筑工地高效施工技术应用方案
- 城市广场综合改造工程技术方案
- 工业园区大气环境综合整治提升项目建议书
- xx河段治理工程实施方案
- 草鱼养殖技术与鱼塘管理
- 2025广东广州新龙镇招聘农村集体出纳(文员)1人笔试考试参考题库附答案解析
- 高职院校实习基地建设方案及管理办法
- (2025)儿童脑性瘫痪经颅磁刺激治疗专家共识
- 中职人力资源管理考核模拟试题
- 药事管理促进合理用药
- 输变电工程监督检查标准化清单-质监站检查
- 建筑安全员C证考试题库(含答案)
- 统编教材小学语文课外阅读《一百条裙子》导读课课件
- 种树郭橐驼传重点字词逐个解释及全篇知识点梳理
- 消防设施维护保养记录表样板
评论
0/150
提交评论