支持飞行测试仪器以太网的类和实用程序

AcraNetwork的Python项目详细描述


A网络[![构建状态](https://travis-ci.org/diarmuidcwc/acranetwork.svg?branch=master)"(https://travis ci.org/diarmuidcwc/acranetwork)
==


iena objects
*simpleethernet:以太网、ip和udp数据包的一组简化类。对于KAM500网络中使用的网络系统来说,这些功能还不够充分
*pcap:读取pcap文件的类和助手方法
*mcastsocket:绑定到端口以捕获多播数据包的类

方法
``shell
python setup.py install
```
,或者将此存储库克隆到本地目录

``shell
`git clone https://github.com/diarmuidcwc/acranetwork.git
````

classes

inetx
这将创建一个inetx对象。一旦有了inetx对象,就可以为各个字段赋值,然后将该对象转换(打包)到适合传输的缓冲区中,或写入文件,或转换(解压缩)包含inetx数据包的缓冲区中。()

此方法将获取inetx对象并返回包含inetx数据包二进制表示形式的字符串缓冲区
如果要将inetx数据包写入文件或通过网络传输,通常会运行此方法将二进制缓冲区转换为inetx对象。这通常用于将从
pcap文件读取或从网络捕获的某些数据转换为inetx对象。

对象将创建一个IENA对象。一旦你有了一个IENA对象,你就可以给各个字段赋值,然后把这个对象转换(打包)成一个适合传输的缓冲区,或者写入一个文件,或者转换(解包)一个包含IENA数据包的缓冲区。

此方法将获取一个IENA对象并返回一个包含IENA数据包二进制表示形式的字符串缓冲区。
如果要将IENA数据包写入文件或通过网络传输,通常会运行此方法在IENA对象中插入二进制缓冲区。这通常用于将从PCAP文件读取或从网络捕获的某些数据转换为IENA对象。


object

ethernet/ip/udp


每个类都将创建相应的对象。创建此对象后,可以将值赋给各个字段,然后将对象转换(打包)为适合传输的缓冲区,或写入文件,或转换(解压缩)包含数据包的缓冲区。
此方法将获取对象并返回包含数据包二进制表示形式的字符串缓冲区。
如果要将数据包写入文件或通过网络传输,通常会运行此方法

变成一个物体。这通常用于将从
PCAP文件读取或从网络捕获的某些数据转换为IENA对象。

pcap

此类将允许您读写PCAP文件。由于pcap文件可能很大,因此
文件不是在一次操作中读取或写入的,而是以片段形式读取或写入的。这将使内存使用率保持在最小值

例如,
`` python
pcap_for_reading=pcap.pcap("input.pcap");基于对文件的读取创建新的pcap对象
pcap_for_writing=pcap.pcap("output.pcap",mode='w');创建将要写入文件的新pcap对象
pcap_for_appending=pcap.pcap("output.pcap",mode='a')打开现有PCAP文件以附加
```

readGlobalHeader()

读取PCAP文件时,这应该是调用的第一个方法。此方法将填充PCAP对象中的字段
,如[PCAP Wiki]中所述(http://wiki.wireshark.org/development/libpcapfileformat global_header)


readapacket()

读取PCAP文件时调用此方法。可以重复调用它,直到到达文件末尾,并且该方法引发ioerror异常
此方法将返回一个pcap record对象,该对象将包含一个pcap记录,其中包含头和负载

\writeglobalheader()

le,应该先调用此方法。它将向文件写入一个有效的全局头。
创建新的PCAP对象时,该对象中使用的默认值将生成一个标准PCAP文件,该文件将支持
以太网数据包

参数必须是pcaprecord对象

可以在examples
目录或unittest文件夹中查看更多示例,以便读取包含多个以太网数据包的PCAP文件,这些数据包都包含用udp包装的inetx数据包

``python
import sys
sys.path.append("..")

import acranetwork.inetx as inetx
将acranetwork.simpleethernet导入为simpleethernetry:
mypcap record=mypcap.readapacket()
除了ioerror:
到达文件末尾
中断

ethpacket.unpack(mypcaprecord.packet)将pcap记录解压缩到eth对象
ippacket=simpleethernet.ip()创建一个IP数据包
ip packet.unpack(ethpacket.payload)将以太网负载解压缩到IP数据包
udppacket=simpleethernet.udp()创建一个UDP数据包
udppacket.unpack(ippacket.payload)将IP负载解压缩到UDP数据包
inetxpacket=inetx.inetx()创建inetx对象
inetxpacket.unpack(udppacket.payload)将udp负载解压缩到此inetx对象
打印"inetx:streamid={:08x}序列={:8d}ptp seconds={}"。格式(inetxpacket.streamid,inetxpacket.sequence,inetxpacket.ptptimesconds)
```

```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧