基于pyshark的视听新媒体技术信息检测系统的研究

2021-11-05 14:02司凯威
数字传媒研究 2021年8期
关键词:镜像交换机数据包

司凯威

国家广播电视总局二九三台 河南省 郑州市451162

引言

近年来,网络传播技术的发展带动了视听网站、移动应用程序、短视频平台、互联网电视和IPTV智能终端的蓬勃发展。据中国互联网络信息中心的数据显示,截至2020年12月,我国现有网页数量达到3155亿,移动APP数量达到345万款[1]。网络视听行业繁荣发展的同时,也出现了部分应用程序、智能终端违规提供淫秽色情、血腥暴力等违反国家网络视听、网络安全管理规定的情况。为规范网络视听行业发展秩序,营造风清气正的网络视听环境,特别是保护未成年人身心健康,视听新媒体监管中需要分析视听节目传播的技术信息。目前,主要通过自主搭建检测环境、利用抓包软件捕获通信数据、人工分析域名和IP、通过公网查询地理位置等步骤,获取网络协议、IP地址、归属地、域名、链接、ICP备案号、开办单位等技术信息。该种工作方式存在操作步骤多、监看周期长、数据分析依赖于工作经验、数据存储不规范、数据加密无法检测等问题,并且与视听新业态不断出现、技术架构不断更新、数据传输格式日渐多样等发展趋势难以适应。

基于现代网络数据包分析和网络爬虫技术的发展成果,本文提出利用镜像交换机、无线路由器等设备搭建通用型的技术数据检测平台,并基于pyshark等支持库构建具有通信数据捕获、分析、统计、结果展示等功能的通用型数据检测应用软件。该平台可较为便捷地完成对网站、应用软件、智能终端等软硬件的技术分析,有效提升视听新媒体技术检测的效率和准确度。

1 硬件组成

基于pyshark的视听新媒体技术信息检测系统主要用于获取、分析、识别、存储用户端的浏览器、移动应用程序、互联网电视及IPTV终端等软硬件与服务端的图片服务器、视频服务器、EPG服务器等网络资源之间的通信信息。为保证系统的兼容性、灵活性和易维护性,该系统硬件部分主要由检测主机、无线路由器、镜像交换等部分组成,如图1所示。

图1 系统组成示意图

(1)检测主机主要用于捕获检测对象与网络服务器之间的通信数据,解析数据包、存储数据文件以图表的形式展示分析结果。检测主机与镜像交换机之间通过高质量的网线进行互联。

(2)镜像交换机主要负责将被检测对象与网络服务器之间的通信数据完整转发至检测主机。为保证数据的转发能力,在本系统中选用的是提供1个上联端口,1个监控端口和3个下联口的千兆镜像交换机。镜像交换机的上联口通过公共互联网或者专用网络连接网络服务器,监控口连接至检测主机,下端口连接至无线路由器。

(3)无线路由器通过有线或者无线的方式保证检测对象通过镜像交换机正常访问网络资源。在系统设计中,选用的是千兆无线路由器。其中,互联网电视、IPTV等终端设备通过有线方式接入。手机、平板等移动智能终端设备通过无线方式接入。

(4)监测载体包括PC主机、移动终端、互联网电视终端、IPTV终端等设备。所有的网站、应用程序等均需安装到相应的载体上。为避免通信数据免受其他设备的干扰,一般情况下,同一时间段只允许一个设备连接至无线路由器。

(5)通过合理走线的方式,将相关的设备统一安置在定制化的机箱中,并预留有视频、USB、网络等接口,以便于进一步扩展使用。

2 软件设计

为协助视听新媒体监管工作人员快速、准确地完成数据检测任务,新媒体技术数据检测系统软件具有捕获视听新媒体智能终端设备或软件与网络服务器之间的通信数据、解析通信数据包、在线查询IP地址归属地、在线查询ICP相关信息、存储分析结果和数据文件、监控服务运行状态等功能。用户只需经过简单的配置之后,即可获得数据解析结果。

为提升应用软件的开发效率和便于后期维护,本系统以python作为开发语言,充分利用开源的数据捕获、网络爬虫、在线下载、特征值计算、报表生成、数据库管理、文件管理、服务监控等功能程序包研发而成。同时基于面向对象的编程思想,将各个分层之间,通过特定的类接口,完成服务的调用,如图2所示。

图2 系统组成示意图

2.1 信息采集

为捕获检测对象与网络服务器之间的通讯数据,本系统主要借助pyshark模块调用wireshark的服务接口对镜像交换机转发至检测主机网卡的数据进行采集。

pyshark模块是使用python语言编制而成的具有网络通信数据采集、分析功能模块的程序包。用户只需对网卡名称、抓取周期等参数设置后,借助该程序包即可调用专业网络数据分析软件wireshark的实时数据采集和离线数据的分析功能[2]。在实时采集数据时设置如下cap=pyshark.LiveCapture(interface='eth0'),cap.sniff(timeout=50)。在解析离线数据包时,设置如下cap=pyshark.FileCapture('/xmt_cap.cap')。

在实际应用中,该模块具有实时性高、速度快、兼容格式多、运行稳定等优点。同时,为了保证数据的实时性,优先将通信数据实时保存至本地,然后使用离线分析功能。

2.2 数据分析

数据分析模块主要是通过解析捕获得到的数据包,获取网络协议、IP地址、IP归属地、ICP号及开办机构等视听新媒体监管中所需的技术信息。以常见的HTTP数据包分析为例,首先是利用pyshark提供的数据解析功能,获取网络协议、源IP地址、目的IP地址、URL链接等信息。根据URL链接的不同,对相关数据进行第一次删除重复的数据。然后是利用urllib2模块提供的下载功能,将URL对应的资源文件下载到本地,同时进行第二次数据排重。第三是文件类型判断和服务器功能推测。借助filetype模块提供的文件类型识别功能,判断资源文件的格式[3]并结合URL包含文件格式关键字,推测网络服务器的功能。例如包含有“.jpg”“.bmp”等关键字的,推测为图片服务器,包含 有“.ts”“.mp4”等文 本的,推测为视频服务器。借助网络爬虫模块抓取IP138、工信部ICP备案系统等权威数据,获取IP归属地和ICP备案信息。在网络爬虫中加入了浏览器头、随机时间间隔等方式,防止频繁的获取页面而被网站屏蔽。

2.3 数据存储

数据存储模块主要负责存储与管理数据包、网络资源文件以及对应的特征值。在数据存储过程中,为方便对数据包、抽取结果、检测对象信息的存储管理,一是网络下载得到的文件采用下载时间命名,避免命名较长不便于管理的情况;二是充分利用文件MD5值唯一性的特征,计算图片、视频、数据包等文件的MD5值并存储到数据库中,以便于查找、管理、增加、删除等操作;三是借助mysqldb功能模块,完成对mysql数据库的管理,实现对历史数据的规范化存储,便于数据的长期跟踪和分析使用。

2.4 数据展示

数据展示功能主要是将分析的结果以Excel表格、图表等形式进行展示。一是提供域名、URL链接、IP地址、功能、ICP、开办单位、资源文件存储位置等相关信息的数据查询、修改、更新、存储等操作;二是提供相关结果数据的报表导出功能;三是为进一步分析视听新媒体数据检测系统监测数据的变化情况,在数据库中存储相关的文件,能够导出变化曲线,更加直观的反映节目数的变化,以及服务器地址的变化情况;四是提供程序执行状况的实时动态功能,程序读取程序执行过程中的异常信息,对于异常报警进行分级,进而对应不同的处理方法。

结论

实践证明,该系统能够有效降低视听新媒体技术信息检测的难度,缩短技术检测所需的时长,提升检测数据的准确性。伴随着视听新媒体业态的不断出现,该系统的应用场景也不断的增加,将会极大地提升视听新媒体监管的工作效率。下一步,在继续优化软件稳定性的基础上,尝试引入高性能的计算节点,加入高灵敏度图片识别等模块,推动检测系统的智能化水平。

猜你喜欢
镜像交换机数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
镜像
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
C#串口高效可靠的接收方案设计
镜像
缔造工业级的强悍——评测三旺通信IPS7110-2GC-8PoE工业交换机
镜像
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700