問題タブ [tcpdump]
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 - 終了後に tcpdump サブプロセスから stdout を取得する
私はtcpdump
このようなサブプロセスで実行しています:
-w -
引数は重要です。結果の .pcap ファイルを に出力するように指示しtcpdump
ますstdout
。
次に、 を使用して Web サイトにアクセスしますurllib.open()
。これが完了したら、印刷されたものをすべて殺しtcpdump
、文字列に入れたいと思います。私は次のことを試しました:
しかし(私が何か間違ったことをしていない限り)、それはうまくいきません。プロセスを強制終了したため、読み取るものは何も残っていません。read()
終了する前にorを使用するcommunicate()
と、スクリプトはそこに座って読み続けtcpdump
、終了するのを待ちます (そうはなりません)。
これを行う方法はありますか(できればループなしで)?
python - pcap トレースを再構築して HTTP レベルのデータを復元する
HTTP 要求と応答を再構成して回復したい tcpdump トレースがあります。それを行うための良いツールはありますか。Python が推奨されますが、Python ソリューションが利用できない場合はラッパーを作成します。
linux - ネットワーク インターフェイスまたは一部のポートで受信したパッケージをファイルに保存し、必要なときに受信したパッケージを再送信する方法は?
私は、リッスンしているソケットに送信されたパッケージを処理する Linux 上のサーバー サービス プログラムで作業を行っています。その仕事をしているポートでリッスンしている古いサービスが既にあり、古いサーバー サービスを停止することはできません。パッケージを古いサーバーに送信し、新しいサーバー サービスに送信して正常に動作することを確認する必要があります。パッケージを取得して新しいサービスに再送信するにはどうすればよいですか? そのようなツールはありますか、または tcpdump などのツールが既に提供している機能はありますか? ありがとう:)
networking - tcpdumpとtcpflow(または「tcpdumpASCIIパケットデータが人間が読めないのはなぜですか?」)
私は両方を使用しましたが、tcpflowを使用してWebページからhtmlデータを読み取ることはできますが、tcpdumpを使用して読み取ることはできないと結論付けています。私が得る最高のものは、ピリオド記号がたくさんある醜いASCIIテキストです。
私の理解では、tcpdumpはパケットを再構成しませんが、tcpflowは再構成します。しかし、それが重要な違いである場合、tcpdumpからのパケットデータはまだ人間が読める形式ではないでしょうか?tcpdumpがASCIIに制限されており、ほとんどのネットワークトラフィックがUTF-8でエンコードされているという問題はありますか?
私はネットワーク分析/プログラミングの新人なので、明らかな何かが欠けている場合はご容赦ください。
network-programming - libpcap が不完全なパケットをキャプチャするのはなぜですか?
「tcpdump port 1025 -w out.pcap -s 4000」を実行すると、localhost から送信されたすべてのパケットに「XXX バイトが送信され、54 バイトがキャプチャされました」と表示されます (イーサネットと TCP ヘッダーのみがキャプチャされ、データはキャプチャされません)。明らかに、snaplen は 4000 であるため、パケットが途中で切断されている理由がわかりません。私もlibpcapを直接使うプログラムを書きましたが、同じ現象が発生しました。これは libpcap 1.1.1 と 1.2.0rc1 の両方で発生しましたが、libpcap 0.9.8 では機能しました!
私は SP3 で SLE10 を使用しており、まったく同じ OS とプログラムがインストールされた別のコンピューターを使用しています。
サンプル キャプチャを次に示します。
audio-streaming - ChromeRadioPlayer拡張機能でINDIE103.1ストリームを再生する
誰かがINDIE103.1オンラインプレーヤーのストリーミングURLを見つけるのを手伝ってもらえますか?ChromeRadioPlayer拡張機能を介してストリームを直接再生する方法を探しています。私はすでにtcpdumpをいじってみました:
フォームのリクエストが見つかりました
ただし、プレイしようとしてhttp://208.80.54.96//KDLDFMAAC?streamtheworld_user=1&nobuf=1315831486041
もうまくいかないようです。
編集1:
http://208.80.52.108/KDLDFMCMP3
Chromiumを介して直接アクセスすると、URLがストリームを再生することがわかりました。ただし、RadioPlayer拡張機能はストリームを再生しません。ターミナルから見えるのは
mysql - ネットワーク パケットを MySQL にキャプチャする方法
WiFi (802.11) 用のネットワーク アナライザーを設計する予定です。現在、tshark を使用して WiFi フレームをキャプチャして解析し、出力を perl スクリプトにパイプして、解析された情報を Mysql データベースに保存します。
このプロセスで多くのフレームを見逃していることがわかりました。確認したところ、パイプ中にフレームが失われているようです (出力が Perl に配信されて Mysql で処理されるとき)。
(Tshark) -------frames are lost----> (Perl) --------> (MySQL) これは、tshark の出力をスクリプトにパイプする方法です。
これは、私が使用する perl スクリプトの単純なテンプレートです (tshark-sql-capture.pl)
パフォーマンスを向上させるのに役立つアイデアを歓迎します。または、パフォーマンスを向上させる代替メカニズムがあるかもしれません。現在、私のパフォーマンスは 50% で、キャプチャしたパケットの約半分を mysql に保存できることを意味します。
packet-capture - tcpdump ステートフル フィルタリング
2 つのホスト A と B があるとします。どちらもポート 80 に Web サーバーがあります。両方のサーバーは、Web サーバーを介して相互にファイルをダウンロードします。A:some_port <--> b:80 と同時に A:80 <--> B:some_port.
クライアントがホスト A または B であるすべてのパケットをキャプチャするために tcpdump を実行するにはどうすればよいですか? 両方の接続からのパケットを含むダンプ ファイルが混在することは望ましくありません。
私が使用する場合:
A と B の間のすべてのパケットを受信します。
その後、間違った半分のパケットを受け取りました。
何か提案はありますか?
wireshark - UDP メッセージを断片化できる場合に tcpdump を使用して特定のポートをキャプチャする
特定のポートで UDP メッセージをキャプチャするために tcpdump を実行しています。キャプチャされた UDP トラフィックには、断片化された UDP パケットが含まれています。
フラグメント化された UDP パケットが検出された場合、tcpdump は最初のフラグメントのみをキャプチャします。(おそらく、最初のフラグメントのみにポート情報が含まれているためです)。
ポートからのメッセージがフィルタリングされている場合でも、UDP パケットのすべてのフラグメントをキャプチャする TCP ダンプのスイッチはありますか?
android - Android-アドホックモードでのtcpdumpの問題
現在、Androidとtcpdumpの使用を要求するプロジェクトに取り組んでいます。
私がしていることの簡単な説明:Androidを使用してパケットをスニッフィングしたい。「tcpdump」を使用してこれを行うAndroidアプリケーションを作成しました。基本的に、アプリケーションはtcpdumpを開始します。これは、キャプチャされたパケットをファイル(sdcard内)にダンプします。次に、ファイルを開くだけで、キャプチャされたパケットを処理します。
問題:wifiが管理モードの場合、すべてが正常に機能します。しかし、wifiデバイスを「アドホック」にすると、ワイヤレスデバイスが機能しなくなります。
私は「SamsungCaptivatedS」(SGH-I897)を使用しており、「オーバーヒアリング」(プロミスキャスモード)とアドホックをサポートするために、最新の「Cyanogen 7」ROM(cm_galaxysmtd_full-126.zip、from:http: //download.cyanogenmod.com/?type=nightly&device=galaxysmtd)
私はこれを解決する方法がわかりません、そして私は本当にあなたの助けが必要です。「wpa_supplicat」がそのせいになっているのではないかと思いますが、おそらく私は間違っています。
前もって感謝します、
追伸:ラップトップを使用してアドホックネットワークを開始することにも言及する必要があります。次に、2つのAndroidデバイスがアドホックネットワークに参加します。Androidデバイス(SGH-I897)は問題なくネットワークに参加します。すべてのデバイスが相互にpingを実行できます。