APP下载

基于局域网的IP数据包监控软件的实现

2019-12-01王一军

电子技术与软件工程 2019年4期
关键词:监听网卡局域网

文/王一军

1 基于局域网的IP数据包监控软件的实现原理

本软件具有对IP数据包的监控分析的基本功能,主要采用嗅探器的基本原理抓取网络有效信息,通过微软的系统网络编程,从中过滤抓取有用的数据,从而完成对IP数据包的监控,并以此保证程序的安全性得到保障。

常见的捕包方式有三种,分别为NDIS,WinPcaP,Raw Socket三种技术。本软件要完成对IP数据包的监控技术,大致需要五个步骤才能完成。首先是成功捕获IP数据包,然后分析捕获的IP数据包,一般是根据用户提供的条件对IP数据包筛选从而确认数据包状态,分类汇总流量,然后保存下来。

2 基于局域网的IP数据包监控软件的功能介绍

2.1 数据监听功能

因特网是由无数的局域网连接形成的。互联网的内部网络的连接方式是什么?它是基于拓扑结构来完成基础网络的架构。基础架构规定一段信息的传输都是从一点到另外一点的模式,这里有客户端和服务器端的区分,服务器端却是基于它的特性分布在局域网当中。但互联网上的主机通常是在局域网中,局域网通常都会连接到外网,局域网是一种广播网络,在服务器端放上信息,像网站源码,应用程序之类都可发布到IIS服务器上,任何一个客户端都可以在互联网上通过IP地址或者具体域名来进行访问。如果以太网中计算机的网卡接受模式设置为混合模式,则网卡将捕获所有数据包并向上传递数据包。通过这种方式,可以窃听和拦截以太网内传输的信息,软件就是基于此原理来完成对数据的监听。

2.2 网络流量监控功能

根据监听的原理,本监控软件主要完成了监听局域网内数据包、对数据包进行拆分并且以不同方式显示,对拦截的数据包的端口、协议类型以及P地址进行过滤。为了实现这些功能,将其分为四个部分:数据包截获、分组分割、分组过滤和分组显示。

2.3 扫描程序功能

该软件能够对局域网中的一切计算机信息和共享文件完成扫描,这其中又分为高速扫描模式和完全扫描模式。扫描后可获得计算机名称、IP地址、MAC地址、共享资源等信息。

2.4 ping程序

Ping是网络中非常有用的TCP/IP工具,能够经过Ping查看连通性问题。这个问题却是可以由于许多因素引发的,例如系统配置出错、网络协议故障,当然还可能是电脑或者服务器故障。

2.5 路由追踪功能

路由跟踪可用于确定IP数据包的最终目标的路径。tracert命令使用IP生存期(TTL)字段和ICMP错误消息来确定网络上从一个主机到另一个主机的路由,通过向目标发送不同IP生存时间(TTL)值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。在转发数据包之前,对于路径也会有一定的规定,要求路径上的每个路由器的数据包里的TTL属性最少要往下减1。数据包的TTL属性的波动幅度可能会不断减少,当其变为0时,路由器会发送超时的信息到客户端,当数据包的TTL为1时,软件会发送相应的响应包,数据包发送一次,TTL值就会增加1,目标会随着数据包的发送进行响应,路由就会得到确认,或者是TTL增加到最大值,此时路由也会确定。路由确定时,路由器会发送相应的超时消息来进行提醒。有些路由器丢弃TTL过期的数据包而不提出任何疑问,这在本程序中却是看不到的。

3 监控软件实现的关键技术

3.1 NDIS技术

NDIS的主要目的就是为NIC制定出标准的API接口。MAC设备驱动封装了所有的NIC硬件实现这一点,以便能够经过公共编程接口访问应用同一媒体的任意NIC。NDIS同时也提供一个函数库(又时也称作wrapper),这个库中的函数可以被MAC驱动调用,它还能由高级协议(如TCP/IP)驱动程序来进行调用。同时,这些包装器函数减少了驱动程序对工作台的依赖。早期版本的NDIS是由微软和3COM开发的。在Windows9x和Windows NT中,WFW(用于工作组的Windows)使用的当前NDIS版本由Microsoft开发。

3.2 winPcap技术

Winpcap是windows平台下一个免费的公共的网络访问系统,通过Winpcap技术可以完成对数据包的抓取和发送等操作。可用通过对Winpcap的int pcap_f indalldevs_exAPI的调用来获得所有本地的网络接口,然后通过pcap_t* pcap_open对指定的网络设备进行抓包/发包,通过int pcap_next_ex()和int pcap_sendpacket()实现具体的抓包和发包操作。

3.3 Raw Socket技术

要使用原始套接字,必须经过创建原始套接字、设置套接字选项(ioctlsocket函数)和创建并填充相应协议头这三个步骤。

3.4 TCP/IP协议的分析技术

分析IP数据包格式、TCP、UDP等数据格式,如源IP地址和目标IP地址可以通过IP分组获取,IP数据包信息包标识可以计数IP数据包流量。而端口信息可从TCP,UDP获得。

3.5 IP数据包的构成

IP数据包主要由版本,头长,服务类型,包裹总长,重组标识,标志,段偏移量,生存时间,协议代码,头校验和32位源码地址已经32位目的地址组成。

3.6 网络数据包捕获技术

网络数据抓包,有必要监控软件和服务器之间的网络节点,监控任何一个网络节点(网卡),获取通过网卡的所有数据,并根据网络协议解析数据。这就是数据包捕获的基本原理。

4 总结

本文主要是基于局域网的功能的基础上来对IP数据包进行监控的技术软件进行了可行性分析,主要对IP数据包的抓取和发送的原理进行分析,对数据监听,Ping程序的使用以及路由追踪技术的分析,基于这些基本技术之上也就完成了一个IP数据包监控软件的一个组成和架构。

猜你喜欢

监听网卡局域网
在DDS 中间件上实现双冗余网卡切换的方法
轨道交通车-地通信无线局域网技术应用
千元监听风格Hi-Fi箱新选择 Summer audio A-401
基于VPN的机房局域网远程控制系统
Server 2016网卡组合模式
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
网络监听的防范措施
应召反潜时无人机监听航路的规划
读编往来