Pyshark:使用了WirdShark的Python数据包解析工具(Tshar

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

cap包解析

pip install pyshark

Pyshark是一款用于Python的tshark封装器,它允许研究人员使用Wireshark解析器来解析Python数据包。与其他Python包解析模块不同,Pyshark本身并不解析数据包,而是利用tshark(Wireshark命令行实用工具)导出XML并完成包解析。安装Pyshark工具非常简单,用户可以使用pip从pypi直接安装Pyshark,也可以从项目的GitHub库克隆代码到本地。在Mac OS X上,如果在运行clang命令时遇到错误或系统弹出libxml错误,请确保安装了libxml。

git clone https://github.com/KimiNewt/pyshark.git

cd pyshark/src

python setup.py install

xcode-select--install

pip install libxml

>>>import pyshark

>>>cap = pyshark.FileCapture('/tmp/mycapture.cap')

>>>cap

>>>print cap[0]

Packet(Length: 698)

LayerETH:

Destination: BLANKED

Source: BLANKED

Type: IP (0x0800)

LayerIP:

Version: 4

Header Length: 20 bytes

Differentiated Services Field: 0x00(DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

Total Length: 684

Identification: 0x254f (9551)

Flags: 0x00

Fragment offset: 0

Time to live: 1

Protocol: UDP (17)

Header checksum: 0xe148 [correct]

Source: BLANKED

Destination: BLANKED

...

paramkeep_packets: 在读取完内容后是否保存包;

paraminput_file: 判断路径或文件对象是否包含包文件(PCAP、PCAP-NG…)或TSharkXML;

paramdisplay_filter: 是否需要在读取包内容前配置过滤器;

paramonly_summaries: 生成包概括数据,速度快,但信息少;

paramdisable_protocol: 禁用协议探测功能 (tshark > version 2);

paramdecryption_key: 用于加密和解密捕捉流量的密钥;

paramencryption_type: 捕捉流量中的标准加密('WEP', 'WPA-PWD', 或'WPA-PWK',默认为WPA-PWK);

paramtshark_path: tshark代码路径;

>>>capture = pyshark.LiveCapture(interface='eth0')

>>>capture.sniff(timeout=50)

>>>capture

>>>capture[3]

for packet in capture.sniff_continuously(packet_count=5):

print 'Just arrived:', packet

>>>capture = pyshark.LiveRingCapture(interface='eth0')

>>>capture.sniff(timeout=50)

>>>capture

>>>capture[3]

for packet in capture.sniff_continuously(packet_count=5):

print 'Just arrived:', packet

>>>capture = pyshark.RemoteCapture('192.168.1.101', 'eth0')

>>>capture.sniff(timeout=50)

>>>capture

>>>packet['ip'].dst

192.168.0.1

>>>packet.ip.src

192.168.0.100

>>>packet[2].src

192.168.0.100

使用Pyshark工具非常方便。您可以从捕获的cap文件中读取和解析内容,也可以从活动接口读取包内容。此外,还可以使用环状缓冲区从活动接口读取包内容,或者从远程活动接口读取包内容。要访问数据,首先需要访问特定的层,然后选择相应的数据区域。您可以使用命令来判断数据包中是否包含某一层,也可以使用”packet.layer.field_names”属性来查看所有数据区域的字段名。此外,您还可以直接获取数据区域的原始代码数据和注释信息。

>>>'IP' in packet

True

>>>p.ip.addr.showname

Sourceor Destination Address: 10.0.0.10 (10.0.0.10)

# Andsome new attributes as well:

>>>p.ip.addr.int_value

167772170

>>>p.ip.addr.binary_value

'nx00x00n'

Pyshark还支持自动解密功能,支持的加密标准包括WEP、WPA-PWD和WPA-PSK,默认为WPA-PWD。您还可以以元组形式传递支持的加密标准。如果您对Pyshark感兴趣,可以在GitHub上找到项目地址。

Pyshark:[GitHub传送门]

*参考来源:KimiNewt,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

赞(0)