CN110891001A - 一种用于VxWorks操作系统的以太网抓包方法 - Google Patents
一种用于VxWorks操作系统的以太网抓包方法 Download PDFInfo
- Publication number
- CN110891001A CN110891001A CN201911114922.4A CN201911114922A CN110891001A CN 110891001 A CN110891001 A CN 110891001A CN 201911114922 A CN201911114922 A CN 201911114922A CN 110891001 A CN110891001 A CN 110891001A
- Authority
- CN
- China
- Prior art keywords
- operating system
- packet capturing
- function
- message
- vxworks operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于VxWorks操作系统的以太网抓包方法,该方法包括:保存Mux层原始函数,构建抓包处理函数挂载点;安装报文信息保存函数,启动抓包功能;抓取经过Mux层的报文,写入持久化存储;下载报文信息,可视化形式阅读。本发明实现了VxWorks操作系统的以太网网络报文信息的抓取和保存的功能,可以将目标机操作系统一段时间内的以太网的所有接收和发送报文的收发时间及网络报文信息,保存在目标机的持久化存储中,然后通过上位机下载的方法获取并阅读目标机的网络报文。本发明能够丰富VxWorks操作系统下的调试手段,提高基于以太网的应用软件的开发效率。
Description
技术领域
本发明属于嵌入式软件开发技术领域,涉及一种用于VxWorks操作系统的以太网抓包方法。
背景技术
目前以太网通信是嵌入式系统中重要的高速通信方法。以太网抓包是以太网通信开发中的常见技术,指的是将硬件网卡收到的全部以太网报文信息抓取出来,以人类可阅读的形式显示出来的技术。常见的通用操作系统Windows及Linux,都有以太网抓包软件如WireShark、Fiddler等,用以辅助基于以太网通信的应用软件的开发。
而作为嵌入式开发常用的VxWorks操作系统,不具备以太网抓包的应用软件功能,这使得在VxWorks操作系统下开发基于以太网的应用软件变得很困难,在软件的开发与调试中出现以太网包收发不正常的情况,很难以判断是应用软件本身的问题,还是底层软件或者硬件的问题。
发明内容
(一)发明目的
本发明的目的是:提供一种用于VxWorks操作系统的以太网抓包的方法,以实现在VxWorks操作系统中抓取以太网报文信息,然后以人类可阅读的形式显示出来,解决VxWorks操作系统中缺少以太网抓包功能的问题,以期提高VxWorks操作系统下的以太网应用软件开发效率。
(二)技术方案
为了解决上述技术问题,本发明提供一种用于VxWorks操作系统的以太网抓包方法,其包括以下步骤:
步骤1:保存Mux层原始函数,构建抓包处理函数挂载点;
步骤2:安装报文信息保存函数,启动抓包功能;
步骤3:抓取经过Mux层的报文,写入持久化存储;
步骤4:下载报文信息,可视化形式阅读。
其中,所述步骤1中,遍历目标机VxWorks操作系统网络协议栈的Mux层节点,保存每个Mux层节点的原始的报文发送和接收函数,构建每个Mux层节点的抓包处理函数挂载点。
其中,所述步骤1中,VxWorks操作系统网络协议栈中,每有一个使用中的网卡硬件,就会有一个对应的Mux层节点,所有的Mux 层节点以链表的形式存储在全局变量endList中,每个节点中保存有报文接收和发送的函数指针,函数指针对应抓包处理函数挂载点。
其中,所述步骤2中,在目标机每个Mux层节点的抓包处理函数挂载点安装以太网报文信息保存函数,启动以太网抓包功能。
其中,所述步骤2中,VxWorks操作系统中,方法运行的不同任务之间的数据交互,通过基于内存存储的消息队列实现,将网络报文信息的副本通过消息队列从网络收发任务发送给网络报文信息保存任务,并将这个函数安装到抓包处理函数挂载点上,然后启动抓包功能。
其中,所述步骤3中,将目标机每个经过Mux层的接收或者发送的报文,以WireShark的报文文件存储格式,写入目标机的持久化存储中。
其中,所述步骤3中,目标机的持久化存储为硬盘或Flash。
其中,所述步骤4中,将目标机持久化存储中的报文信息下载到安装WireShark软件的上位机中,打开报文信息,查询目标机记录的以太网收发情况。
(三)有益效果
上述技术方案所提供的用于VxWorks操作系统的以太网抓包的方法,实现了VxWorks操作系统的以太网网络报文信息的抓取和保存的功能,可以将目标机操作系统一段时间内的以太网的所有接收和发送报文的收发时间及网络报文信息,保存在目标机的持久化存储中,然后通过上位机下载的方法获取并阅读目标机的网络报文;本发明能够丰富VxWorks操作系统下的调试手段,提高基于以太网的应用软件的开发效率。
附图说明
图1为本发明实施例提供的VxWorks操作系统网络协议栈示意图;
图2为本发明实施例提供的实现在VxWorks操作系统中抓取以太网报文信息后以人类可阅读的形式显示出来的流程示意图。
图3为本发明实施例提供的构建抓包处理函数挂载点的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的运行环境是安装有VxWorks操作系统的目标机, VxWorks操作系统的网络协议栈示意图如图1。不同品牌(如英特尔、博通)的网卡,采用不同的网卡硬件驱动程序,都会经过相同的Mux 层;不同的应用程序,采用不同的传输层(如TCP、UDP),也都会经过相同的Mux层。同时,VxWorks操作系统的网络协议栈中,Mux 层处在与应用软件相关和与网卡硬件相关的分界线上,硬件成功收到的网络报文都会经过Mux层,软件成功发送给硬件的网络报文也都会经过Mux层。另外,Mux层的接收和发送函数是采用函数指针的形式挂载在VxWorks操作系统的网络协议栈中,替换这个函数既安全又方便。因此,本发明选择在Mux层进行网络报文的抓取。
本发明实施例的以太网抓包方法共分为4个步骤,分别为保存 Mux层原始函数,构建抓包处理函数挂载点;安装报文信息保存函数,启动抓包功能;抓取经过Mux层的报文,写入持久化存储;下载报文信息,可视化形式阅读。
步骤的流程图如图2所示,具体地,每个步骤的详细实现过程描述如下:
步骤1:保存Mux层原始函数,构建抓包处理函数挂载点
遍历目标机VxWorks操作系统网络协议栈的Mux层节点,保存每个Mux层节点的原始的报文发送和接收函数,构建每个Mux层节点的抓包处理函数挂载点。
VxWorks操作系统网络协议栈中,每有一个使用中的网卡硬件,就会有一个对应的Mux层节点。所有的Mux层节点以链表的形式存储在全局变量endList中。每个节点中保存有报文接收和发送的函数指针。抓包处理函数挂载点的构建流程如图3的函数,替换每个节点中的接收和发送函数指针。网络报文处理函数采用函数指针的形式保存和调用,该函数指针称为抓包处理函数挂载点。在此步骤中暂不安装网络报文处理函数,即抓包处理函数挂载点为空,因此完成此步骤后网络协议栈的运行过程没有任何变化。
步骤2:安装报文信息保存函数,启动抓包功能
在目标机每个Mux层节点的抓包处理函数挂载点安装以太网报文信息保存函数,启动以太网抓包功能。
由于本实施例对于保存网络报文信息的处理,是在区别于原有网络收发任务的独立任务中运行的,因此在启动抓包功能之前,要首先启动网络报文信息保存任务。关于该任务的详细功能会在步骤3中说明。
在VxWorks操作系统中,方法的实现运行在不同的任务中。不同任务之间的数据交互,通过基于内存存储的消息队列实现。本实施例构建抓包处理函数,将网络报文信息的副本通过消息队列,从网络收发任务发送给网络报文信息保存任务,并将这个函数安装到抓包处理函数挂载点上。
这样的抓包处理函数可以在实现抓包功能的前提下,最小化对网络收发任务的影响。如图3流程所示,完成网络报文处理函数的安装,即可以启动抓包功能。
步骤3:抓取经过Mux层的报文,写入持久化存储
将目标机每个经过Mux层的接收或者发送的报文,以WireShark 的报文文件存储格式,写入目标机的持久化存储(如硬盘、Flash) 中。
通过步骤2中网络报文处理函数的安装,每一个在网络收发任务中,经过Mux层的网络报文的副本,都会被网络报文信息保存任务所接收。网络报文信息保存任务将会将网络报文的内容写入持久化存储中。
WireShark是一款广泛使用的跨平台网络抓包软件。该软件有一套开放的网络报文信息存储格式。网络报文信息保存任务,严格按照 WireShark的网络报文信息存储格式,将每个报文的接收或者发送的时间以及报文的内容,写入目标机所在的持久化存储中。同时,这个存储写入任务的优先级是低于网络收发任务的,这样也是在最小化对网络收发任务的影响。
步骤4:下载报文信息,可视化形式阅读
将目标机持久化存储中的报文信息下载到安装WireShark软件的上位机中,打开报文信息,查询目标机记录的以太网收发情况。
将抓包处理函数挂载点置为空指针,即可停止网络报文抓包功能。通过VxWorks操作系统自带的Ftp功能或者其他的文件传输功能,可以将保存在目标机持久化存储中的网络报文信息文件,下载到上位机中。
安装WireShark软件的上位机可以直接打开本实施例所生成的网络报文信息文件,极大地方便对文件内容的查询和阅读。
由上述技术方案可以看出,本发明将mux层原始的收发函数替换为自定收发函数,实现抓包;自定收发函数中包含原始收发函数,不影响网络协议栈的正常通信;网络报文信息写入持久化存储的操作在另一个系统任务中实现,与网络通信任务采用基于内存的消息队列连接,最小化影响网络协议栈的性能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种用于VxWorks操作系统的以太网抓包方法,其特征在于,包括以下步骤:
步骤1:保存Mux层原始函数,构建抓包处理函数挂载点;
步骤2:安装报文信息保存函数,启动抓包功能;
步骤3:抓取经过Mux层的报文,写入持久化存储;
步骤4:下载报文信息,可视化形式阅读。
2.如权利要求1所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤1中,遍历目标机VxWorks操作系统网络协议栈的Mux层节点,保存每个Mux层节点的原始的报文发送和接收函数,构建每个Mux层节点的抓包处理函数挂载点。
3.如权利要求2所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤1中,VxWorks操作系统网络协议栈中,每有一个使用中的网卡硬件,就会有一个对应的Mux层节点,所有的Mux层节点以链表的形式存储在全局变量endList中,每个节点中保存有报文接收和发送的函数指针,函数指针对应抓包处理函数挂载点。
4.如权利要求3所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤2中,在目标机每个Mux层节点的抓包处理函数挂载点安装以太网报文信息保存函数,启动以太网抓包功能。
5.如权利要求4所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤2中,VxWorks操作系统中,方法运行的不同任务之间的数据交互,通过基于内存存储的消息队列实现,将网络报文信息的副本通过消息队列从网络收发任务发送给网络报文信息保存任务,并将这个函数安装到抓包处理函数挂载点上,然后启动抓包功能。
6.如权利要求5所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤3中,将目标机每个经过Mux层的接收或者发送的报文,以WireShark的报文文件存储格式,写入目标机的持久化存储中。
7.如权利要求6所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤3中,目标机的持久化存储为硬盘或Flash。
8.如权利要求7所述的用于VxWorks操作系统的以太网抓包方法,其特征在于,所述步骤4中,将目标机持久化存储中的报文信息下载到安装WireShark软件的上位机中,打开报文信息,查询目标机记录的以太网收发情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114922.4A CN110891001B (zh) | 2019-11-14 | 2019-11-14 | 一种用于VxWorks操作系统的以太网抓包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114922.4A CN110891001B (zh) | 2019-11-14 | 2019-11-14 | 一种用于VxWorks操作系统的以太网抓包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110891001A true CN110891001A (zh) | 2020-03-17 |
CN110891001B CN110891001B (zh) | 2022-10-25 |
Family
ID=69747515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114922.4A Active CN110891001B (zh) | 2019-11-14 | 2019-11-14 | 一种用于VxWorks操作系统的以太网抓包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110891001B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235086A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种基于上位机存储的VxWorks操作系统以太网抓包装置 |
CN114124457A (zh) * | 2021-10-25 | 2022-03-01 | 河北汉光重工有限责任公司 | 一种基于vxworks系统网络的侦听方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546415A (zh) * | 2012-01-11 | 2012-07-04 | 深圳市科陆电子科技股份有限公司 | 一种基于vxworks平台上快速收发以太网报文的方法 |
CN106549945A (zh) * | 2016-10-17 | 2017-03-29 | 汉柏科技有限公司 | 防火墙二层网络抓包的实现方法及装置 |
US20170195406A1 (en) * | 2015-06-15 | 2017-07-06 | Graduate School At Shenzhen, Tsinghua University | Distributed network node operation system based on operation control unit |
CN109471776A (zh) * | 2018-11-13 | 2019-03-15 | 天津津航计算技术研究所 | 一种基于以太网的VxWorks操作系统日志收集方法 |
-
2019
- 2019-11-14 CN CN201911114922.4A patent/CN110891001B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546415A (zh) * | 2012-01-11 | 2012-07-04 | 深圳市科陆电子科技股份有限公司 | 一种基于vxworks平台上快速收发以太网报文的方法 |
US20170195406A1 (en) * | 2015-06-15 | 2017-07-06 | Graduate School At Shenzhen, Tsinghua University | Distributed network node operation system based on operation control unit |
CN106549945A (zh) * | 2016-10-17 | 2017-03-29 | 汉柏科技有限公司 | 防火墙二层网络抓包的实现方法及装置 |
CN109471776A (zh) * | 2018-11-13 | 2019-03-15 | 天津津航计算技术研究所 | 一种基于以太网的VxWorks操作系统日志收集方法 |
Non-Patent Citations (2)
Title |
---|
李晋: "以太网交换机网络协议栈研究与应用", 《万方学术期刊数据库》 * |
王飞: "基于VxWorks系统的网络监控工具设计与实现", 《万方学术期刊数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235086A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种基于上位机存储的VxWorks操作系统以太网抓包装置 |
CN114124457A (zh) * | 2021-10-25 | 2022-03-01 | 河北汉光重工有限责任公司 | 一种基于vxworks系统网络的侦听方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110891001B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8452842B2 (en) | Controlling retention of publications | |
CN111124277B (zh) | 一种深度学习数据集缓存方法、系统、终端及存储介质 | |
US8516509B2 (en) | Methods and computer program products for monitoring system calls using safely removable system function table chaining | |
US20160065440A1 (en) | Methods and Computer Program Products for Collecting Storage Resource Performance Data Using File System Hooks | |
CN110891001B (zh) | 一种用于VxWorks操作系统的以太网抓包方法 | |
US8909761B2 (en) | Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers | |
CN104820701A (zh) | 数据记录和同步方法及系统 | |
CN108600053B (zh) | 一种基于零拷贝技术的无线网络数据包捕获方法 | |
CN104951395A (zh) | 一种嵌入式系统调试信息处理方法及装置 | |
CN113783800B (zh) | 数据包处理方法、装置、计算机设备及可读存储介质 | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
CN117041379B (zh) | 同时监听用户态协议栈和内核态协议栈新建连接的方法及装置 | |
CN112688885B (zh) | 一种报文处理方法及装置 | |
WO2024139748A1 (zh) | 数据传输方法、装置及电子设备 | |
US7840725B2 (en) | Capture of data in a computer network | |
CN109274721B (zh) | 一种基于虚拟磁盘映射的LAN-free传输方法及系统 | |
CN117170816B (zh) | 基于dpu的容器化数据采集方法、系统及部署方法 | |
EP4175231A1 (en) | Message processing method, network device and related device | |
CN113381907A (zh) | 日志采集方法及装置、电子设备、存储介质 | |
CN109271341B (zh) | 一种镜像磁盘文件过滤方法 | |
CN116185598A (zh) | 地址处理方法、装置、电子设备及可读存储介质 | |
CN113918436A (zh) | 日志处理方法及装置 | |
CN103532763B (zh) | 一种故障定位方法及装置 | |
CN102685247B (zh) | 业务套件的信息收集方法、节点服务器及数据存储系统 | |
CN115022167B (zh) | 一种用于家庭网关业务流控的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |