重复wireshark命令

时间:2019-06-30 13:06:56

标签: python

有一些wireshark .cap文件。我需要将所有这些拆分为1秒的时间间隔。 我可以使用以下editcap命令拆分.cap文件。 Editcap -i时间inputfile.cap输出文件前缀

图1:分割文件输出 但是由于有许多文件我想分割;我必须分别为每个文件名分别使用此命令。这需要时间。因此,我想到编写代码来检查给定文件夹中的所有.cap文件并拆分所有文件。

例如,当我将路径指定为“ / root / Desktop / Testcap /”时,程序也应将所有.cap拆分为子文件夹(如postpost,shortcomment)。  输出(分割文件)应获得输入文件的名称,如图1所示。 这就是我写的 导入操作系统 路径='/ root / Desktop / Testcap' 对于dir.name,sub_dirs,os.walk(path)中的文件:      用于文件中的文件名:           如果filename.endswith('。cap'):                os.system('editcap -i 1文件名.....') 如何从 bolted 部分完成? 谢谢

1 个答案:

答案 0 :(得分:1)

您可以在python中完成此操作,但是find和xargs是学习和使用的好工具:

find /root/Desktop/Testcap -name ‘*.cap’ -print0 | xargs -0 -n1 -I % editcap -i % %

print0和-0用于处理文件名中的空格。

或者,如果您想在python中进行操作:

#!/usr/bin/env python
import os
startdir='.'
suffix='.cap'
for root, dirs, files in os.walk(startdir):
  for name in files:
    if name.endswith(suffix):
      filename=os.path.join(root,name)
      cmd = 'editcap -i 1 "{}" "{}"'.format(filename,filename)
      print(cmd)
      os.system(cmd)