私は非対称ルーティングの問題を診断するためにtsharkを使用しています。トラフィックをフィルタリングしているため、特定のIPのsrc / destのみをキャプチャしますが、トラフィックが入ってくるインターフェイスを示すフィールドを表示して、パスを使用したときの影響を確認できるようにしたいと思います。テーブル。
Wiresharkでは、次を使用してMACアドレスを表示してこれを行うことができます。ハードウェア宛先アドレスそしてハードウェアソースアドレスしかし、TSharkではそのフィルタが見つかりません。
誰でもTSharkを使用してNIC名またはMACアドレスを表示する方法を提案できますか?
私が試したtsharkコマンドは次のとおりです。
tshark -i eno1 -i enp5s0 -T fields -E header=y -e ip.src -e ip.dst -e _ws.col.Protocol -e _ws.col.Info -Y "ip.addr==10.10.10.30"
答え1
解決策が見つかりました。 Wiresharkに表示されているフィールドはtsharkに表示されているフィールドと直接相関があることがわかりました。だからあなたはフレームの下で検索します。Wireshark ドキュメントすべてが明確になりました。私の問題は、コマンドラインで何ができるかを理解するために、ドキュメントとWireshark UIの間の相関関係を確認できないことです。
私がすべきことは追加するだけでした。-eフレームワーク。インターフェース名または-eフレーム。インターフェース_id
答え2
フィールド名を知るために、またはを渡してjson
フォーマットを使用または出力することもできます。表示フィルタで使用可能な同じ名前または選択形式を使用して、キャプチャに解析されたすべてのフィールドが表示されます。pdml
-T json
-T pdml
tshark
-e
-T fields
[ { "_index": "データパッケージ-2021-10-09", "_type": "ドキュメント", "_score": 空、 "_源泉": { "階":{ 「フレームワーク」:{ "frame.interface_id": "0", "frame.interface_id_tree": { 」フレームワーク、インターフェース名":"wlp3s0" }, "frame.encap_type": "1", [...]
<?xml version="1.0" エンコード="utf-8"?> <?xml-stylesheet type="text/xsl" href="pdml2html.xsl"?> <!--/usr/share/wireshark または https://gitlab.com/wireshark/wireshark/-/raw/master/pdml2html.xsl で pdml2html.xsl を見つけることができます。 --> <pdml version="0" Creator="wireshark/3.4.8" time="2021年10月9日土曜日 10:20:13" Capture_file="file.pcap"> <パケット> <proto name="geninfo" pos="0" showname="一般情報" size="52"> <field name="num" pos="0" show="1" showname="number" value="1" size="52"/> <field name="len" pos="0" show="52" showname="フレーム長" value="34" size="52"/> <field name="caplen" pos="0" show="52" showname="キャプチャ長" value="34" size="52"/> <field name="timestamp" pos="0" show="2021年10月9日 10:19:24.034789189 BST" showname="キャプチャ時間" value="1633771164.034789189" size="52"/> </オリジナル> <proto name="frame" showname="フレーム 1: ラインで 52 バイト (416 ビット)、インターフェイス wlp3s0 でキャプチャされた 52 バイト (416 ビット)、id 0" size="52" pos="0 "> <field name="frame.interface_id" showname="インターフェイス ID: 0 (wlp3s0)" size="0" pos="0" show="0"> <フィールド名=フレームワーク、インターフェース名" showname="インターフェイス名: wlp3s0" size="0" pos="0" show="wlp3s0"/> </field> <field name="frame.encap_type" showname="カプセル化タイプ: イーサネット(1)" size="0" pos="0" show="1"/>
wireshark
目的のフィールドを選択して右クリックして、コピー - >フィールド名を選択できます。