当前位置:   article > 正文

在python中调用wireshark lua脚本插件-既pyshark使用方法_pyshark filecapture custom_parameters

pyshark filecapture custom_parameters

Wireshark 提供了Lua API 来按需处理和分析报文,如何使用wireshark插件来分析和处理报文,我在前面的文章中或多或少的都有提及,当然我在这里也做了较为全面的说明,可以参考下。

在编写完lua脚本之后,需要利用tshark来加载该脚本。如果需要全自动的执行,显得不是特别友好,当然可以在shell脚本中进行启动。除此之外,还可以在python中调用lua插件以及传递参数。近期我在github上发现一个开源项目,就是通过对于tshark的封装,可以直接在python中调用lua脚本功能。本文就简单介绍一下该功能,感兴趣的小伙伴可以按照本文的方法试一试。

1,项目地址这里

既可以直接安装:pip install pyshark,也可通过源码安装

git clone https://github.com/KimiNewt/pyshark.git
cd pyshark/src
python setup.py install
  • 1
  • 2
  • 3

因为初次使用可能对于该模块有很多的疑问,同时该模块的说明文档写的比较简单,因此使用源码安装,在出现问题的时候,可以在源码中进行调试,有助于理解程序。本身这个项目的代码较少,阅读起来难度并不大。

2,程序示例,如下示例是我在python中加载lua脚本解码报文示例:

def getHtmlFromPcap(pcapFileName,tsharkPara):
    import pyshark
    cap = pyshark.FileCapture(input_file=pcapFileName, custom_parameters=tsharkPara)
    cap.load_packets()
    #for pak in cap:
        #pas

if __name__ == "__main__":
    

    fileDir = '/data/html/'
    
    param = [ '-X', 'lua_script:getHttpTitleAndDesc.lua','-X', 'lua_script1:'+fileDir,'-X', 'lua_script1:data-text-lines']

    commFunc.getHtmlFromPcap(aPcapFileName,param)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

由于tshark中涉及的参数众多,对于这些参数的处理pyshark是通过列表或者字典来进行传递的。由于tshark中涉及到lua脚本的参数都是通过-X来进行传递的。而字典中是不允许key值相同的,因此无法通过字典来传递lua脚本的参数,则只能通过列表进行传递,如程序中的param。由网络上使用wireshark的插件功能的人较少,同时项目文档介绍中也没有,因此我去简单的看了一下源码,使用列表来传递Lua脚本所需要的参数。这里是我在该项目当时的提问,最终还是由我自己解决了。

当然pyshark对于tshark解析的结果也做了封装,可以直接调用pyshark中的类进行输出报文的信息。总之,wireshark能够提供的报文信息,pyshark基本上都是拿过来直接使用的,很方便python中进行使用。但是在使用中存在的问题就是内存可能占用较高,由于要将报文读取到内存之中,因此占用的内存依赖于报文的大小,在实际的使用过程中要加以注意。

当然关于pyshark更多的使用方法,可以参考如下两个链接:
1,参考一
2,参考二

本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/156852?site
推荐阅读
相关标签
  

闽ICP备14008679号