問題タブ [tshark]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python からの 802.11 ワイヤレス管理フレームへのアクセス
Linux 上の Python から、802.11 管理の「プローブ要求」フレームを盗聴したいと思います。これは、次のように Scapy から可能です。
または、次のように tshark から:
tshark からの出力をリダイレクトし、Python で丸呑みすることもできます (きれいではありませんが、機能します)。
ただし、これらのオプションには両方とも GPL ライセンスが適用されるため、潜在的な商用プロジェクトは扱いにくいものになります。したがって、この特定の問題に対してPythonで「低レベル」のソリューションを見つけようとしています。Google から、次の 2 つの方向性を試すことができました。
Pcap ライブラリ: Python で使用できる 3 つの pcap ライブラリがあるようです: pylibpcap、pypcap、およびpcapy。上記の機能をこれらに組み込む方法がよくわかりません。サンプルコードやソリューションは素晴らしいでしょう。
生のソケット: PF_PACKET: "パケット ソケットは、デバイス ドライバー (OSI レイヤー 2) レベルで生のパケットを送受信するために使用されます。ユーザーは、物理層の上のユーザー空間にプロトコル モジュールを実装できます。"
これは、pcap を完全にバイパスする別のオプションのように思えます。これは、pcap ライブラリのオーバーヘッドを取り除くより良いアプローチである可能性があるというコメントを聞いたことがあります。ただし、どこからこれに取り組み始めればよいかわかりません。
これを解決するための助けをいただければ幸いです。
wireshark - tsharkはすべてのフィールドを出力しますか?
tshark
オプションなどを使用して、(パケット内の)すべてのフィールドに出力を取得することは可能-T fields
ですか?
たとえば、パケット/再構成のすべてのフィールドについて、次のようなものが必要です。
\xff
(値にコンマが含まれている場合に解析を改善するために、コンマをaに置き換えることができます。)
オプションがあること-e
はわかっていますが、コマンドラインで可能なすべてのフィールドを入力する必要があるようです。その上、各パケットで使用されるフィールドのごく一部のみが使用されるため、大量のデータを解析する必要があります。
現在、このオプションを使用して解析する予定ですが、理想的には、「人間が読める形式」の代わりに、次のtshark -V
ようなマシンスタイルの用語を使用したいと考えています。http.request.uri
porting - 建物のtshark
tshark を別の OS に移植しています。ソース コードから削除できるファイル/フォルダーを教えてください。GTK が必要ないことは承知していますが、最初から不要なファイル/フォルダーをすべて削除できれば素晴らしいと思います。
前もって感謝します。
linux - その場でLinuxスニファーの結果を解析する方法は?
クライアントがサーバーからファイル (3 種類) をダウンロードした量を並べ替えて計算したいと考えています。
リクエストtshark
をキャプチャする次のコマンドをインストールして実行しました。GET
そのため、スニファーが機能し始め、毎秒新しい行が取得されます。結果は次のとおりです。
/pids/*****.bin
結果のタイプとカウントを他のファイルに保存するために必要なこと。私は Linux に強いわけではありませんが、1 ~ 3 行のスクリプトで実行できることは確かです。
多分awk
ですが、スニファーの結果を読み取る手法が何であるかわかりません。
ありがとうございました、
linux - /tmp の下に一時ファイルを作成する tshark を防ぐにはどうすればよいですか?
次のコマンドを実行したい:
stdout
ご覧のとおり、ファイルに書き込みsome.txt
ます。
しかし、私は名前付きの/tmp
フォルダー一時ファイルの下etherXXXX*
に入り、これらのファイルは1時間で1〜2Gに増加する可能性があります.
tshark man
使用することがわかりまし-b option
た。
だから私は書いた:
エラーが発生しました:tshark: Maximum capture file size specified, but capture isn't being saved to a file.
フラグtshark.c
を使用することがわかったコードから-w
現在、ファイルは作成されていません/tmp
が、some.txt ファイルが bin ファイルになり、開くことができません。-w
フラグはcap
延長で好きに作るので。:(
一時ファイルを処理するにはどうすればよいですか?
ところで、some.txt
ファイルの内容は次のとおりです。
ありがとうございました、
linux - ファイルに書き込む前に tshark の結果をフィルタリングする方法は?
GET
サーバーからのリクエストを計算しようとしています。
私は使用しますtshark
。
次のコマンドを実行して、着信トラフィックをフィルタリングし、GET
リクエストのみをフェッチします。
ご覧のとおり、フィルター処理された結果を最大サイズ 1G の名前の 1 つのファイルに保存するように定義しましたsamples.pcap
。
問題は、pcap ファイルを開こうとすると、次のように表示されることですtshark stored all traffic there
。
トラフィックが非常に多く、10 分間で pcap ファイル サイズが 950M になりました。そして、それを解析するのに約4分かかります。
興味深いのは、ローカル ファイル (ただし /tmp の下) に保存せずに実行しようとしたときです。
動作しますが、この場合、/tmp の下に 1G 以上の巨大なサイズの一時ファイルがいくつかあります。
私は何か見落としてますか?
ありがとうございました
================================================== =====
編集
ラースは追加を求めました-f
:
それでも、samples.pcap はすべてのトラフィックを保存します。
networking - サーバーとクライアントの両方が同じマシンにある場合に pcap トレースをキャプチャする方法は?
SMPP サーバーとクライアントが同じマシンの異なるポートで実行されており、smpp メッセージを表示するために pcap をキャプチャしたいと考えています。同じマシンのため、tshark コマンドではキャプチャされませんでした。
クライアントとサーバーの両方が同じマシン上にある場合、メッセージをキャプチャするオプションはありますか?
wireshark - tshark - 出力アプリケーション層のデコードのみ
tsharkを使用して、アプリケーション層をデコードして表示するにはどうすればよいですか?
たとえば、次を使用して snmp トラフィックをキャプチャおよびデコードできます。
これにより、物理層からアプリケーション層までのすべての層がデコードされます (出力は省略されています)。
(「Simple Network Management Protocol」以降のデコードが必要です)。
その他検討したこと
フィールド出力の使用を認識しています(例-e snmp.community)。snmp のすべてのフィールドを指定すると、永遠に時間がかかります...
pdml 出力を使用し、XSLT を使用して結果を変換できます。しかし、pdml の出力は遅く、XSLT の使用はやり過ぎのようです。
python - python subprocess.popen tshark はいくつかの引数で動作しますが、他の引数では動作しません
これでpythonスクリプトを実行すると:
期待される内容の pcap ファイルが、スクリプトと同じフォルダーに正しく表示されます。
pcap からテキスト ファイルを作成する 2 番目の手順は機能しません。
cmd ウィンドウに「Capturing on Standard input」と表示されますが、「x packet capture」はなく、フォルダーに tshark.txt ファイルも表示されません。
同じ場所のコマンド プロンプトから、これは私がスクリプトから期待している仕事をします:
一方の呼び出しが機能し、もう一方の呼び出しが機能しないのは奇妙に思えます。私が見逃しているものについてのアイデアはありますか?