pythonでwireshark luaスクリプトプラグインを呼び出す-pysharkの使用方法

2053 ワード

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

初めて使用するとモジュールに多くの疑問があると同時に、モジュールの説明ドキュメントが簡単に書かれているため、ソースコードを使用してインストールし、問題が発生した場合、ソースコードでデバッグすることができ、プログラムの理解に役立ちます.自分のこのプロジェクトのコードは少なく、読むのは難しくありません.
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)


tshakに関連するパラメータが多いため,これらのパラメータに対する処理pysharkはリストや辞書によって伝達される.tsharkでluaスクリプトに関連するパラメータはすべて-Xによって伝達されるためです.辞書ではkey値が同じではないため、luaスクリプトのパラメータを辞書で渡すことができない場合は、プログラムのparamなどのリストでしか渡すことができません.インターネット上でwiresharkのプラグイン機能を使う人は少なく、プロジェクトドキュメントの紹介もないので、ソースコードを簡単に見て、リストを使ってLuaスクリプトに必要なパラメータを渡しました.ここは私がこのプロジェクトで当時の質問で、最終的には私自身が解決しました.
もちろんpysharkはtshak解析の結果もカプセル化されており,pyshark中のクラスを直接呼び出してメッセージの情報を出力することができる.要するに、wiresharkが提供できるメッセージ情報は、pysharkが基本的に直接持ってきて使うので、pythonで使いやすいです.ただし、使用中の問題は、メモリの消費量が高い可能性があることです.メッセージをメモリに読み込むため、使用するメモリはメッセージのサイズに依存します.実際の使用中は注意してください.
もちろんpysharkのより多くの使用方法については、1、1、2、2のリンクを参照してください.
本文はCSDN村の中の少年のオリジナルの文章で、転載して覚えていて小さいしっぽの偶数をプラスして、ブロガーはここをリンクします.