tshark 拆分大的pacp包
时间: 2023-08-12 22:09:08 浏览: 480
`tshark` 命令可以很方便地拆分大的 pcap 文件,可以使用 `-b` 参数对 pcap 文件进行分割,例如:
```
tshark -r big_capture.pcap -b duration:3600 -b files:10 -w output_capture.pcap
```
其中,`-b duration:3600` 表示将大 pcap 文件拆分为每个文件最大持续时间为 3600 秒(1 小时),`-b files:10` 表示最多拆分成 10 个文件,`-w output_capture.pcap` 表示输出文件名为 `output_capture.pcap`。这样,`tshark` 就会将大 pcap 文件拆分成多个小的 pcap 文件,并按照指定的名称格式命名保存。
如果你想在 Python 中使用 `tshark` 命令拆分大的 pcap 文件,可以使用 `subprocess` 模块来执行命令,例如:
```python
import subprocess
subprocess.run(['tshark', '-r', 'big_capture.pcap', '-b', 'duration:3600', '-b', 'files:10', '-w', 'output_capture.pcap'])
```
这段代码与上面的命令等效,会将大 pcap 文件拆分成多个小的 pcap 文件,并按照指定的名称格式保存。
相关问题
pyshark 拆分pacp包
可以使用 pyshark 库和 tshark 工具来拆分 pcap 包。
首先,使用 pyshark 库读取 pcap 包:
```python
import pyshark
cap = pyshark.FileCapture('my_capture.pcap')
```
然后,使用 tshark 工具来拆分 pcap 包:
```python
import os
if not os.path.exists('output_dir'):
os.makedirs('output_dir')
for packet in cap:
packet_number = packet.number
filename = f'output_dir/packet_{packet_number}.pcap'
os.system(f'tshark -r my_capture.pcap -Y "frame.number == {packet_number}" -w {filename}')
```
这段代码将 pcap 包中的每个数据包分别拆分成单独的 pcap 文件,保存在 `output_dir` 目录中。可以根据需要修改过滤条件和输出文件名。
tshark 只抓取sip包命令
可以使用以下命令抓取 SIP 包:
```
tshark -i <interface> -f "port 5060" -T fields -e sip.method -e sip.request.uri.host -e sip.from.uri.user -e sip.to.uri.user -e sip.call-id -e sip.cseq -e sip.user-agent -e sip.contact.uri.user -e sip.content-type -e sip.content-length
```
其中,`<interface>` 指的是需要抓取的网络接口,例如 `eth0`。该命令将抓取端口号为 5060 的 SIP 包,并输出一些 SIP 协议头部字段的值,例如请求方法、请求 URI、From URI、To URI、Call-ID、CSeq、User-Agent、Contact URI、Content-Type 和 Content-Length 等。你可以根据需要自定义输出的字段。
阅读全文