Wireshark でトラフィックを NTLM プロトコルとしてデコードするにはどうすればよいですか?

Wireshark でトラフィックを NTLM プロトコルとしてデコードするにはどうすればよいですか?

認証の問題をデバッグしようとしていますNTLM。私のアイデアの1つは、ネットワークトラフィックをキャプチャしてそれを調べることでした。私の場合、NTLM認証は非スターダートポート(6901)を介して行われています。もちろん、Wiresharkはそれを検出できません。しかし、いいえ NTLMNTLMSSP)プロトコルリスト内のメニューでDecode asここ
Wireshark にトラフィックを としてデコードさせる方法はありますか?NTLMまたは、キャプチャしたトラフィックを変更する (ポート
を変更するなど) 必要がありますか?TCP

答え1

NTLMSSP が実際にどのポートを使用するかはよくわかりませんが、この Lua スクリプトを試して、NTLMSSP ディスセクタをカスタム ポートに登録することができます。

local tcp_port_table = DissectorTable.get("tcp.port")
local tcp_ntlmssp_dis = tcp_port_table:get_dissector(445)
tcp_port_table:add(6901, tcp_ntlmssp_dis)

これをファイルに保存します(例:ntlmssp.lua)。そして、Wiresharkにそれをロードするように指示します(例:

$ wireshark -X lua_script:ntlmssp.lua -r trace.pcap

ポート 445 を実際に必要なものに変更するか、 などの行を追加して追加のポートを登録する必要がある場合がありますtcp_port_table:get_dissector(4711)。UDP も必要な場合は、UDP に対して同じ操作を行います。

答え2

Alexander Janssen の LUA スクリプトは、ポート番号 (445 - SMB/CIFS) でプロトコルを取得しているため機能しませんが、次のように変更して NTLMSSP ディセクタを名前で登録することができます。

local tcp_port_table = DissectorTable.get("tcp.port")
local tcp_ntlmssp_dis = Dissector.get("ntlmssp")
tcp_port_table:add(6901, tcp_ntlmssp_dis)

6901はNTLMSSPサービスが稼働しているポートです。NTLMSSP以外のプロトコルの場合は、参考:「ntlmssp」の代わりに動作するはずです。

先週、別のカスタム NTLMSSP サービスへのトラフィックを分析する際に、これを正常にテストしました。

関連情報