問題タブ [packet-capture]
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 - scapy と pcapy のヘルプ
私はscapyとpcapyが初めてです。プロジェクトとして、scapy を使用して ICMP パケットを送信し、pcapy を使用してキャプチャする必要があります。ネットワークの遅延を計算するには、送信者と受信者のタイムスタンプを比較する必要があります。
どうすればこれができるのかわかりません。どんな助けでも大歓迎です。
ありがとうございました。
次のコマンドを使用して、タイムスタンプにタイプ 13 を使用した宛先に ICMP パケットを送信していました。
a=IP(dst="172.24.50.76")/ICMP(タイプ=13)
sr1(a) 送信開始: 1パケット送信終了.1パケット受信, 1応答取得, 残り0パケット
ts_ori=22:40:35.556 ts_rx=526:4:13.700 ts_tx=526:4:13.700
1) ts_rx と ts_tx のタイムスタンプは同じ時間を示していますが、どうすれば遅延を計算できますか? 2)2番目に、さまざまなパケットサイズで遅延を計算するために、パケットのサイズを大きくするにはどうすればよいですか。
お分かりいただけたかと思います。
android - Android デバイスで 802.11 パケット ヘッダーをキャプチャしますか?
tcpdump のようなアプリケーションを使用して、Android で WiFi パケット ヘッダーをキャプチャしたいと考えています。HTC ドリームフォン (Android 1.6、Texas Instruments WL1251B チップセットを使用した Wi-Fi (802.11b/g)) を使用しています。デフォルトの TI ドライバーは、tcpdump を使用してデバイスでパケット キャプチャを実行しているときに、802.11 パケット ヘッダーをフィルター処理します。デフォルトの TI ドライバーを使用して 802.11 ヘッダーをキャプチャする方法を知っている人はいますか?
また、http://bobcopeland.com/android_wifi.html を見ていました。これには、android デバイスに mac80211 ベースのドライバーをインストールする手順が含まれています。このページで述べたように、指示に従ってカーネル モジュールを作成し、それらを電話にロードしました。しかし、その後 WiFi インターフェースを有効にすることができませんでした (ただし、mac80211 ドライバーがロードされたことを示す「wlan0」インターフェースが表示されました)。
だから、私はこの時点で立ち往生しています。TI/mac80211 ベースのドライバーを使用して、Android フォンで 802.11 パケット ヘッダーをキャプチャする方法についてアドバイスをいただけますか?
python - Pythonパケットスニファ
パケットをスニッフィングするためにどのPythonモジュールを使用する必要がありますか?あまり複雑なものは必要ありません。コンピュータに送信されているいくつかのパケットからデータを取得する必要があります。Python2.6とWindows7を使用しており、WinPcap4.1.2をインストールしました。
これまでのところ、人々がpcapyとpypcapを提案しているのを見てきましたが、それらをインストールしようとすると、両方とも失敗し、コンピューター上にあるのにmsvcr71.dllが見つからないと言われます。また、python-libpcap sourceforgeページが利用できないようであるため、それを試すことはできません。
python - パケットにペイロードを追加する
scapy を使用してパケット内のデータとしてイメージまたはドキュメント (MB 単位) を挿入できますか?
これは私がデータを送信するために行ったことです。
network-programming - nfq_get_payload からデータを取得する
「nfq_get_payload(nfqData, &data);」を使用する場合 そして、「データ」を出力します。得られるのはEだけです。ペイロードを取得するために他に何かする必要がありますか?
packet - netfilter キューによるパケット変更?
私は現在、iptables の NFQUEUE ターゲットでキューに入れられたパケットを変更するために、ユーザー空間で libnetfilter_queue のコードを使用しようとしています。しかし、私はそれを行う方法についてほとんど考えていません。
NFQNL_COPY_PACKET を使用してパケットをコピーするように設定しました。コピーされたパケットを変更すると、関数 nfq_set_verdict() によって自動的にカーネルに送り返されますか?
さらに、以前に pcap ファイルからパケットを抽出する作業を行ったことがありますが、nfq_get_payload() から取得したデータが非常に異なっているように見えることに気付きました。データを分析する方法を知っている人はいますか?
packet-capture - libpcap パケット受信関数で定期的にタイムアウトする方法
タイムアウト付きの Pcap を使用してリッスンしているstackoverflow.com でこの投稿を見つけました
私は同様の (しかし異なる) 問題に直面しています: libpcap パケット受信関数を使用してキャプチャされたパケットを受信するときに定期的にタイムアウトする GENERIC (プラットフォームに依存しない) メソッドは何ですか? 実際、pcap_dispatch(pcap_t...) / pcap_next_ex(pcap_t...) から定期的にタイムアウトできるかどうか疑問に思っています。それが可能であれば、従来の select(...timeout) 関数 ( http://linux.die.net/man/2/select ) を使用するのと同じように使用できます。
さらに、公式 Web ページ ( http://www.tcpdump.org/pcap3_man.html ) から、元のタイムアウト メカニズムにはバグがあり、プラットフォーム固有であると見なされていることがわかりました (私のプログラムは別の Linux で実行される可能性があり、これは悪いことです)。 Unix ボックス):
"... ... to_ms は、読み取りタイムアウトをミリ秒単位で指定します。読み取りタイムアウトは、パケットが検出されたときに読み取りが必ずしもすぐに返されるわけではなく、許可されるまである程度の時間待機するように調整するために使用されます。より多くのパケットが到着し、1 回の操作で OS カーネルから複数のパケットを読み取る必要があります.すべてのプラットフォームが読み取りタイムアウトをサポートしているわけではありません.サポートしていないプラットフォームでは、読み取りタイムアウトは無視されます... ...
注: ライブ キャプチャを読み取る場合、読み取りがタイムアウトしたときに pcap_dispatch() が返されるとは限りません。一部のプラットフォームでは読み取りタイムアウトがサポートされておらず、他のプラットフォームでは、少なくとも 1 つのパケットが到着するまでタイマーが開始されません。これは、たとえば対話型アプリケーションで、パケット キャプチャ ループがユーザー入力を定期的に「ポーリング」できるようにするために、読み取りタイムアウトを使用しないことを意味します。 ……」
したがって、以下のように GENERIC (プラットフォームに依存しない) タイムアウト メカニズムを自分で実装する必要があるのではないでしょうか?
- pcap_open_live() で pcap_t 構造体を作成します。
- pcap_setnonblock(pcap_t...) でノンブロッキング モードに設定します。
- 次のように、登録された OS タイマーを使用して、この非ブロッキング pcap_t をポーリングします。
OS timer_x を登録し、timer_x をリセットします。
ながら(1) {
if(timer_x time out) {定期的に実行する必要があることを実行します。timer_x をリセット;}
pcap_dispatch(pcap_t...)/pcap_next_ex(pcap_t...) を呼び出して pcap_t をポーリングし、いくつかのパケットを受信します。
これらのパケットで何かをします。
}//while(1) の終わり
よろしく、
DC
networking - tshark: キャプチャされたパケットの保存中にフィルターを適用できません
以前のバージョンのwireshark (1) では機能していたコマンドがありましたが、最新バージョン (1.6.1) では機能しません。
"C:\Program Files\Wireshark\tshark.exe" -i \Device\NPF_{282F8D86-F9CC-4575-8F20-7E9F5B04BB89} -l -q -R "h245" -S -T pdml -w C:\capture_0 .cap "(ホスト 172.24.161.49 またはホスト 172.24.161.34 で、ポート 80 でもポート 23 でもありません) and tcp" 1>C:\capture_0.xml
「tshark: キャプチャしたパケットをキャプチャして保存するときに、読み取りフィルタはサポートされていません」というエラー メッセージが表示されます。
このコマンドの何が問題になっていますか?
参考までに - このマシンには完全な cygwin がインストールされています。違いはありますか?
awk - awkへの配管がハングする
tshark
出力をにパイプしようとしていawk
ます。tsharkコマンドはそれ自体で正常に機能し、などの他のプログラムにパイプするとcat
正常に機能します(出力のリアルタイム印刷)。ただし、awkにパイプ接続すると、ハングして何も起こりません。
これはより単純なバージョンです:
比較すると、以下は問題なく機能します(ただし、あまり有用ではありません)。
前もって感謝します。