def pcap_to_csv(wireshark_file_path, csv_file_path): #输入cmd命令,将已抓取的包根据想要的内容写入到csv格式中:要切换到tshark的路径后才有效使用命令。 # os.system("tshark.exe -r D:/Users/chenmengdie/06_pythonProject/20230421.pcap -T fields -e frame.number -e frame.time_relative -e eth.src -e eth.dst -e ptp -e frame.len -e ptp.v2.domainnumber -e ptp.v2.sequenceid -e ptp.v2.fu.preciseorigintimestamp.seconds -e ptp.v2.fu.preciseorigintimestamp.nanoseconds -e ptp.v2.pdfu.responseorigintimestamp.seconds -e ptp.v2.pdfu.responseorigintimestamp.nanoseconds -E header=y -E separator=, > D:/Users/chenmengdie/06_pythonProject/out123.csv") os.system( "tshark.exe -r {} -Y 'ptp' -T fields -e frame.number -e frame.time_relative -e eth.src -e eth.dst -e ptp -e frame.len -e ptp.v2.domainnumber -e ptp.v2.sequenceid -e ptp.v2.fu.preciseorigintimestamp.seconds -e ptp.v2.fu.preciseorigintimestamp.nanoseconds -e ptp.v2.pdfu.responseorigintimestamp.seconds -e ptp.v2.pdfu.responseorigintimestamp.nanoseconds -E header=y -E separator=, > {}".format(wireshark_file_path, csv_file_path))为什么筛选不了ptp报文出来
时间: 2024-03-29 12:40:35 浏览: 156
可能有多种原因导致无法筛选出ptp报文,以下是一些可能的原因:
1. pcap文件中没有ptp报文,可能需要检查pcap文件中是否包含ptp报文。
2. tshark版本较旧,不支持ptp解析。可以尝试更新tshark版本或者使用其他工具进行解析。
3. 过滤条件有误。可以检查过滤条件是否正确。
4. 在过滤条件中,ptp可能被解析为PTP或者Ptp等,大小写敏感。可以尝试更改过滤条件。
希望这些提示能够帮到你。
相关问题
def pcap_to_csv(wireshark_file_path, csv_file_path):os.system( "tshark.exe -r {wireshark_file_path} -T fields -e frame.number -E header=y -E separator=, > {csv_file_path}")这么可以吗
这段代码的作用是将 Wireshark 抓包文件转换为 CSV 格式的文件。其中使用了 tshark 命令行工具来处理抓包文件,将其转换为 CSV 格式,然后保存到指定的文件路径中。
代码中使用了 os.system() 函数来执行 tshark 命令,并且将命令行输出重定向到指定的 CSV 文件中。可以看出,该代码依赖于 tshark 命令行工具的存在,并且需要正确配置 tshark 的环境变量。如果 tshark 没有正确配置,那么该代码就无法正常工作。
另外,该代码中的 {wireshark_file_path} 和 {csv_file_path} 都是 Python 字符串格式化的表达式,需要在调用该函数时传入具体的值。例如:
```
pcap_to_csv("test.pcap", "test.csv")
```
这将把 test.pcap 文件转换为 CSV 格式,并保存为 test.csv 文件。
def pcap_to_csv(wireshark_file_path, csv_file_path): os.system( "tshark.exe -r {} -Y 'PTP' -T fields -e frame.number -e frame.time_relative -e eth.src -e eth.dst -e ptp -e frame.len -e ptp.v2.domainnumber -e ptp.v2.sequenceid -e ptp.v2.fu.preciseorigintimestamp.seconds -e ptp.v2.fu.preciseorigintimestamp.nanoseconds -e ptp.v2.pdfu.responseorigintimestamp.seconds -e ptp.v2.pdfu.responseorigintimestamp.nanoseconds -E header=y -E separator=, > {}".format(wireshark_file_path, csv_file_path))为什么筛选不了ptp报文出来
可能有多种原因导致无法筛选出ptp报文,以下是一些可能的原因:
1. pcap文件中没有ptp报文,可能需要检查pcap文件中是否包含ptp报文。
2. tshark版本较旧,不支持ptp解析。可以尝试更新tshark版本或者使用其他工具进行解析。
3. 过滤条件有误。可以检查过滤条件是否正确。
4. 在过滤条件中,ptp可能被解析为PTP或者Ptp等,大小写敏感。可以尝试更改过滤条件。
希望这些提示能够帮到你。
阅读全文