- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LAN中Sniffer的设计与实现
LAN中Sniffer的设计与实现 靳风荣 郑雪峰 黄丽娟 (北京科技大学信息学院100083) 摘要:本文阐述了Sniffer基本原理,并给出了在Linux平台下Sniffer的设计过程与实现方法。 关键词:Sniffer、LAN、TCP、IP、ICMP、UDP 随着INTERNET的发展,安全系统的要求也与日俱增,romiscuous)。 在混杂模式下的网卡能够接收一切通过它的数据,而不管该数据目的地址是否是它。如果通过程序将网卡的工作模式设置为“混杂模式”,那么网卡将接受所有流经它的数据帧,这实际上就是Sniffer工作的基本原理:让网卡接收一切他所能接收的数据。Sniffer就是一种能将本地网卡状态设成混杂(promiscuous)状态的软件,当网卡处于这种混杂方式时,该网卡具备广播地址,它对所有遇到的每一个数据帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。可见,Sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。 在实际应用中,存在许多非以太网接入的情况,如通过DDN专线或者光纤接入等在这些情况下,必须在路由器中设置监听端口,将流经路由器的所有信息流量通过一个特定的监听端口输出,从而实现信息的监听BPF。因为本方案只要对IP、ICMP、UDP、TCP数据包和部分的端口进行分析,所以要创建一个规则集合,编译并且使用。 实际的窥探(即获取所需的数据包)。根据规则进入截取数据包程序的循环体。每收到一个数据包,就调用另外一个程序做相应的处理。当做完上面的处理后,关闭会话,结束。 图2基于pcap的系统流程 3具体实现 3.1数据包的数据结构 需要定义数据包的数据结构,在定义该结构时分别要用到以太帧头、IP数据报头以及TCP报文头结构,结构定义如下: 下面为以太帧头的格式; #include linux/if_ether.h struct etherhdr { unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ unsigned char h_source[ETH_ALEN]; /* source ether addr */ unsigned short h_proto; /* packet type ID field */ }; 根据TCP、IP协议格式和具体实现要求,容易定义出TCP和IP数据报头的格式,限于篇幅,这里不再赘述。 ICMP协议头结构和UDP协议头结构用etherpkt来定义如下: struct etherpkt {struct etherhdr eth; struct iphdr ip; union{struct tcphdr tcp; struct icmphdr icmp; struct udphdr udp; }proto; char buff[8129]; }ep; 3.2 主体程序框架 下面是用pcap库来实现网络数据截取和分析的主体程序框架: #include pcap/pcap.h #include pcap/net/bpf.h #include sys/types.h #include sys/time.h #include netinet/in.h #include signal.h #include stdio.h #include stdlib.h #include string.h #include unistd.h #include ctype.h static pcap_t *pd; main(int argc,char argv[]) {registe int cnt; char ebuf[PCAP_ERRBUF_SIZE]; /*存储错误信息的字符串*/ register char *device ,*cmdbuf; bpf_u_int32 netp ,maskp; /*执行嗅探的设备的IP地址和网络掩码*/ int snaplen; /*截获数据包的最大长度*/ struct bpf_program fcode; pcap_handler printer; u_char *pcap_userdata; cnt = -1; device = NULL; /*获取网络设备*/ device=pcap_lookupdev(ebuf); if (device == NULL) error(%s, ebuf); /*获取本地的IP地址和网络掩码*/ if((pcap_lookupnet(device,netp,maskp,ebuf
您可能关注的文档
- IPD开发流程介绍.ppt
- IP地址自动采集与智能管理系统.doc
- IP网络安全解决方案建议书.doc
- IP路由交换课程.doc
- IQC作業流程-新版.ppt
- IRIS质量管理体系项目计划书.docx
- ISISDraw的使用方法.ppt
- ISO TANK相关知识.doc
- it,个人述职报告.doc
- Italian Wine 意大利葡萄酒大全全英.doc
- 【未来能源研究所】清洁炼钢:向低碳未来过渡-2025.10.docx
- 【DLG&新红】2025年奢侈品行业小红书营销生态报告.docx
- 【中国华能集团清洁能源技术研究院】海上风电系统智能运维的数字孪生技术.docx
- 2025年数字化转型新范式报告.pptx
- Ansys2025全球仿真大会:HFSS产品更新与最佳实践分享.pptx
- Ansys2025全球仿真大会:Ansys电力变压器多物理场应用.pptx
- Ansys2025全球仿真大会:Based on Ansys HFSS+Circuit system-level EMI simulation for LPDDR4X interface.pptx
- 海内外云厂商发展与现状(二):AI投入、算力建设梳理与ROI测算.docx
- 【MCR嘉世咨询】2025中国速冻食品行业现状与发展趋势报告.docx
- 【空客&落基山研究所】空客&落基山研究院:中国可持续航空燃料新图景——电气SAF篇.docx
有哪些信誉好的足球投注网站
文档评论(0)