标签: pyshark

在pyshark中计算TCP重传

据我所知pyshark是tshark的Python包装器,tshark是Wireshark的命令行版本。由于Wireshark和tshark允许检测TCP重传,因此我想知道如何使用pyshark实现该功能。我找不到任何好的文档,所以不确定是否可以这样做,还是无法找到正确的方法。谢谢!

python tcp tshark pyshark

10
推荐指数
1
解决办法
260
查看次数

pyshark - 来自TCP数据包的数据

无论如何使用pyshark来获取TCP数据包的有效负载?

我试图比较跨多个TCP流的不同数据包的数据部分,但我找不到一种方法来获取数据包的数据.pkt['tcp'].data似乎不存在.

python packet-capture wireshark pyshark

7
推荐指数
1
解决办法
8081
查看次数

Python 3.4.3 - 错误 Pyshark capture.sniff()

这是我的代码:

import pyshark
capture = pyshark.LiveCapture(interface='en0')
capture.sniff()
Run Code Online (Sandbox Code Playgroud)

现在这里是错误:

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
capture.sniff()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pyshark/capture/capture.py", line 109, in load_packets
self.apply_on_packets(keep_packet, timeout=timeout)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pyshark/capture/capture.py", line 201, in apply_on_packets
return self.eventloop.run_until_complete(coro)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/trollius/base_events.py", line 350, in run_until_complete
return future.result()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/trollius/futures.py", line 286, in result
raise self._exception
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/trollius/tasks.py", line 250, in _step
result = coro.throw(exc)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pyshark/capture/capture.py", line 212, in packets_from_tshark
tshark_process = yield  From(self._get_tshark_process(packet_count=packet_count))
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/trollius/tasks.py", line 252, in _step
result = coro.send(value) …
Run Code Online (Sandbox Code Playgroud)

import python-3.x pyshark

6
推荐指数
1
解决办法
4271
查看次数

如何使用 Pyshark 提取数据包的有效负载

我正在尝试使用 Pyshark 读取 .pcap 文件中所有数据包的有效负载。我能够打开并读取文件,访问数据包及其其他信息,但我无法找到用于访问数据包有效负载的正确属性/方法。有什么建议 ?有没有其他方法可以使用 Windows 10 的 python 读取 .pcap 文件中的数据包有效负载?

(我尝试使用 Scapy 而不是 Pyshark,但显然在 Windows 上运行 Scapy 存在一些问题,它在我的系统上也不起作用)

我在 Internet 和 StackOverflow 上的 pyshark 项目的不同代码片段中找到了这些行。我尝试过,但没有一个起作用:

import pyshark
cap = pyshark.FileCapture('file.pcap')
pkt = cap[1]

#for other information
print(pkt.tcp.flags_ack) #this works
print(pkt.tcp.flags_syn) #this works
print(pkt.tcp.flags_fin) #this works

#for payload
print(pkt.tcp.data) #does not work, AttributeError
print(pkt.tcp.payload) #does not work, AttributeError
print(pkt.data.data) #does not work, AttributeError
Run Code Online (Sandbox Code Playgroud)

python-3.x pyshark

6
推荐指数
1
解决办法
5482
查看次数

信号处理程序必须是 signal.SIG_IGN、signal.SIG_DFL 或可调用对象

我正在尝试编写一些代码来使用 pyshark 使用 python 执行一些数据包嗅探。我有以下一段代码:

import pyshark
print('Pyshark demo')
capture = pyshark.LiveCapture(interface='enp0s8')
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行此脚本时,我得到以下堆栈跟踪:

Pyshark demo
Exception ignored in: <bound method BaseEventLoop.__del__ of <_UnixSelectorEventLoop running=False closed=True debug=False>>
Traceback (most recent call last):
  File "/usr/lib/python3.5/asyncio/base_events.py", line 431, in __del__
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 58, in close
  File "/usr/lib/python3.5/asyncio/unix_events.py", line 139, in remove_signal_handler
  File "/usr/lib/python3.5/signal.py", line 47, in signal
TypeError: signal handler must be signal.SIG_IGN, signal.SIG_DFL, or a callable object
Run Code Online (Sandbox Code Playgroud)

我已经安装了pyshark。你知道是什么导致了这个问题吗?

我在 ubuntu 服务器 16.04 上运行它

python pyshark

6
推荐指数
1
解决办法
2454
查看次数

在Pyshark中获取已解析数据包的完整hexdump

我正在使用Pyshark来解析pcap文件中的数据包.
我有解析包的对象.另外,在将raw_mode属性更改为True之后,我可以获得每个字段的hex_value.

>>> packet = pyshark.FileCapture("ip_packet.pcap")
>>> packet_1 = packet[0]
>>> packet_1.layers()
[<ETH Layer>, <IP Layer>, <DATA Layer>]
>>> packet_1.ip.addr
'192.168.1.5'

>>> packet_1.ip.raw_mode = True
>>> packet_1.ip.addr
'c0a80105'
Run Code Online (Sandbox Code Playgroud)

如何获得完整数据包的hexdump?

python pyshark

5
推荐指数
1
解决办法
2449
查看次数

pyshark无法在Windows 7(python)上捕获数据包

我想用pyshark捕获数据包.但我无法在Windows 7上捕获数据包.

这是我的python代码


import pyshark
def NetCap():
    print 'capturing...'
    livecapture = pyshark.LiveCapture(interface="eth0", output_file='./test.pcapng')
    livecapture.sniff(packet_count=10)
    print 'end of capture.'
    print livecapture

if __name__ == "__main__":
    NetCap()
Run Code Online (Sandbox Code Playgroud)

这是结果


capturing...
end of capture.
<LiveCapture (0 packets)>
Run Code Online (Sandbox Code Playgroud)

Livecapture是0包.我不知道是怎么回事.请帮我.

python windows networking capture pyshark

5
推荐指数
1
解决办法
906
查看次数

用pyshark计算数据包数量

在此代码中使用pyshark

import pyshark
cap = pyshark.FileCapture(filename)
i = 0
for idx, packet in enumerate(cap):
    i += 1
print i
print len(cap._packets)
Run Code Online (Sandbox Code Playgroud)

ilen(cap._packets)给出两个不同的结果。这是为什么?

python wireshark packet-sniffers wireshark-dissector pyshark

2
推荐指数
3
解决办法
3503
查看次数

使用 python 和 pyshark 跟踪 TCP 流

在 Wireshark 中手动执行此操作时,我右键单击数据包 -> 跟踪 -> TCP 流,将打开一个包含相关信息的新窗口。有没有办法通过使用 pyshark 模块和 python 2.7 来执行完全相同的操作并获取此信息?注意:我通过发送无效的 HTTP 方法来进行请求测试,因此寻找 HTTP 层在这里不起作用。

wireshark python-2.7 pyshark

2
推荐指数
1
解决办法
9373
查看次数

如何在PCAP文件中打印所有目标端口和源端口?

import pyshark
pkts = pyshark.FileCapture("test.pcap")


for p in pkts:
      print
Run Code Online (Sandbox Code Playgroud)

我试图打印PCAP文件中的所有目标端口和源端口.我怎么能这样做?

python packets python-2.7 python-3.x pyshark

1
推荐指数
1
解决办法
741
查看次数

如何在 PyShark 中将数据包解码为decode_as

在 Wireshark GUI 中,我们可以将 UPD 数据包解码为 RTP,并且可以在 tshark 中使用以下命令完成相同的操作 d <layer type>==<selector>,<decode-as protocol>

我怎样才能在 PyShark 中做同样的事情?我尝试执行以下操作

import pyshark

cap = pyshark.FileCapture("Test.pcap", display filter='udp', decode_as='rtp')
for pkt in cap:
   print(pkt)
Run Code Online (Sandbox Code Playgroud)

但它显示以下错误

AttributeError: 'str' object has no attribute 'items'
Run Code Online (Sandbox Code Playgroud)

python networking python-3.x tshark pyshark

1
推荐指数
1
解决办法
3348
查看次数

如何使用 pyshark 从远程计算机上的本地托管网站获取数据包

我正在尝试使用 pyshark 从远程计算机上本地托管的网站(测试目的)获取数据包。

这是我的代码:

import pyshark

def print_live_dns():
   capture = pyshark.LiveCapture("wlan0")
   for packet in capture:
      # print(packet)
      with open('packets.txt', 'a') as f:
         f.write(str(packet))
      if "DNS" in packet and not packet.dns.flags_response.int_value:
         print(packet.dns.qry_name)

if __name__ == "__main__":
    print_live_dns()
Run Code Online (Sandbox Code Playgroud)

使用此代码,我只能从 Internet 获取数据包。这不是我需要的。我如何实现这一目标?使用pyshark, scapy, nmap

python scapy pyshark

-2
推荐指数
1
解决办法
110
查看次数