使用pyshark解析.pcap文件的python

时间:2019-04-30 22:47:27

标签: python pyshark

我有一个wireshark .pcap文件,我想从该文件中获取所有资产(URL,IP,PC名称等)。 我尝试使用一些在网上找到的示例,但是在获取这些项目时遇到了一些问题。 我设法找到了dst和src ip地址,但仅此而已。

这是我当前的代码:

import pyshark

cap = pyshark.FileCapture('dor.pcap')

count = 0
for pkt in cap:
    ip_source = pkt.ip.__dict__["_all_fields"]["ip.src"]
    ip_address = pkt.ip.__dict__["_all_fields"]["ip.dst"]

1 个答案:

答案 0 :(得分:0)

这应该与您的 Wireshark pcap文件一起使用,以获取源地址和目标地址以及端口。可以修改输出(例如,csv,字典)以满足您的特定要求。

请提供有关要从pcap文件解析的其他项的更多详细信息

import pyshark

def network_conversation(packet):
  try:
    protocol = packet.transport_layer
    source_address = packet.ip.src
    source_port = packet[packet.transport_layer].srcport
    destination_address = packet.ip.dst
    destination_port = packet[packet.transport_layer].dstport
    return (f'{protocol} {source_address}:{source_port} --> {destination_address}:{destination_port}')
  except AttributeError as e:
    pass

capture = pyshark.FileCapture('test.pcap')
conversations = []
for packet in capture:
  results = network_conversation(packet)
  if results != None:
    conversations.append(results)

# this sorts the conversations by protocol 
# TCP and UDP
for item in sorted(conversations):
  print (item)