問題タブ [packets]

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.

0 投票する
1 に答える
1662 参照

macos - MAC ID ブロードキャスト UDP パケットの受信に関する問題

私の場合、ハードウェア UDP パケットから宛先 PC に送信されます - 192.168.13.250 (45141) ですが、MAC ID は FF:FF:FF:FF:FF:FF です。これで、ソケットを使用せずにその宛先 IP とポートにバインドしました。しかし、ソケット プログラムを使用して PC から UDP パケットを受信できません。recvfrom() 呼び出しからは出ていません。それでも待っています。ハードウェア設定を使用して MAC ID を宛先 PC MAC ID (00-12-d5-f6-3e-92) に変更すると、UDP パケットを受信できます。MAC ID を変更せずに、つまり、ブロードキャスト MAC ID から UDP パケットを受信する方法。どんな助けでも大歓迎です。前もって感謝します。以下は、Wireshark からのログです。

  • 以下の UDP パケットが受信されない(Wireshark)

フレーム 3609 (有線で 7978 バイト、キャプチャされた 7978 バイト) イーサネット II、ソース: 0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc)、Dst: ブロードキャスト (ff:ff: ff:ff:ff:ff) インターネット プロトコル、ソース: 192.168.13.25 (192.168.13.25)、Dst: 192.168.13.250 (192.168.13.250) ユーザー データグラム プロトコル、ソース ポート: lbc-control (2780)、Dst ポート: 45141 (45141) データ (7936 バイト)

  • 次のUDPパケットが受信されます(Wireshark)

フレーム 3609 (ワイヤ上で 7978 バイト、キャプチャされた 7978 バイト) イーサネット II、ソース: 0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc)、Dst: ブロードキャスト (00:12: d5:f6:3e:92) インターネット プロトコル、ソース: 192.168.13.25 (192.168.13.25)、Dst: 192.168.13.250 (192.168.13.250) ユーザー データグラム プロトコル、ソース ポート: lbc-control (2780)、Dst ポート: 45141 (45141) データ (7936 バイト)

0 投票する
3 に答える
4218 参照

c - UDP C サーバーがパケットを受信しない

関連する質問がすでに回答されていることは知っていますが、問題を解決できませんでした。

シンプルな UDP クライアント サーバー アプリがあります。クライアントとサーバーはどちらも問題ないように見えますが、サーバーはクライアントからパケットを受信せず、ネット ID 192 を無限に受信するだけです (または、クライアントがパッケージを正しく送信していない可能性があります)。

問題を理解できないようです。アドレスとポートはどちらも問題ありません。ファイアウォールはありません。念のため、ポートの例外も追加しました。サーバーを起動すると、正しいポート (netstat -a -s -p udp) で正常にリッスンしていることがわかります。何が悪いのかヒントを教えてください。

ここに私のサーバーコードがあります:

そして私のクライアントコード:

0 投票する
1 に答える
355 参照

networking - プログラムによるパケット損失と遅延のシミュレーション

rpcを介してサービスを公開するサーバーと、これらのサービスを使用するクライアントがあります。この設定をテストするには、パケット損失と遅延を導入する必要があります。tc、iptablesの変更など、stackoverflowに関するいくつかの手法を見つけましたが、パケット損失をシミュレートするには、それらすべてにrootパスワードが必要です。ルートパスワードを必要とせずにこれらのパケット損失をシミュレートする方法はありますか?

注:コードはGOプログラミング言語で書かれています

0 投票する
1 に答える
3016 参照

ip - KDD 99データセットをtcpdump形式に変換する方法は?

次の形式のパケットでKDD 99構成されるデータセットをダンプ形式に変換する方法を教えてもらえますか?ipTCP

0 投票する
1 に答える
1389 参照

c# - BitArray C# を使用した IPFIX パケットのデコード

前のスレッドに続いて、UDP リスナーと C# の BitArray を使用して、Sonicwall ファイアウォールから IPFIX データをデコードすることに近づいているようです。

BitArray にデータを取得するようになりましたが、意味がありません。配列にバイナリが表示されると思っていましたが、値が大きく異なります。たとえば、8 ~ 10 文字の正と負の文字があり、配列のカウントは常に異なります。

ビットを取得するために使用しているコードの主要部分は次のとおりです。

IPFIX データをデコードする方法や、役立つポインターを知っている人はいますか?

前もって感謝します、

ジェームズ


Chris 提供のコードからの出力:

byte[] バイト = {0x00, 0x0A, 0x04, 0xB4, 0x4D, 0xAE, 0x8F, 0xF4, 0x00, 0x6D, 0x8F, 0xC7, 0x16, 0x2B, 0xFC, 0x00, 0x01, 0x01, 0x04, 0xA4, 0x4 0x8F、0xD2、0x8D、0xCC、0xC8、0x20、0x00、0x26、0x99、0xD4、0x5F、0xD7、0x30、0x37、0xA6、0xD6、0xBE、0xB9、0x51、0x90、0xF3、0x4、0x4、0x4、0x4 0x84、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x03、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x38、0x69、0x00、0x50、0x00、0x00、0x00、0x06、0x00、0x00、0x07、0xb3、0x00、0x00、0x00、0x04、0x00、0x00、0x03、0x42、0x00、0x00、0x00、0x02、0x000、0x00 0x00、0x03、0xC7、0x00、0x00、0x00、0x01、0x00、0x00、0x01、0x72、0x4D、0xAE、0x8F、0xD2、0x4D、0xAE、0x8F、0xF4、0x00、0x0、0x0、0x0、0x0、0x31 0x10、0x8F、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x82、 0x00、0x00、0x01、0x4D、0xAE、0x8F、0xEE、0x8E、0x42、0xF9、0xA0、0x30、0x37、0xA6、0xD6、0xBE、0xB9、0x00、0x50、0x56、0x90、0x10 0x42、0xfe、0x51、0x90、0xf3、0x46、0x51、0x90、0xf3、0x41、0x51、0x90、0xf3、0x41、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x01、0x01、0x01、0x01、0x01、0x01、0x01、0x01 0x00、0x00、0x00、0x00、0x00、0xc5、0x85、0x00、0x50、0x00、0x00、0x00、0x18、0x00、0x00、0x09、0x6e、0x00、0x00、0x00、0x29、0x00、0x00、0xdf、0xe1 0x00、0x00、0x00、0x0B、0x00、0x00、0x04、0x86、0x00、0x00、0x00、0x14、0x00、0x00、0x6E、0x65、0x4D、0xAE、0x8F、0xEE、0x4D、0x4F、0x0F、0x0F 0x31、0x06、0x00、0x00、0x00、0x10、0x93、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x01、0x4d、0xae、0x8f、0xf3、0x8e、0x5b、0x17、0xa0、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x0a、0x00、0x01、0x55、0xc0、0xa8、0x6f、0x37、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x10、0x00 0x0a、0x01、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x0a、0xf8、0x23、0x8c、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x00、0x00、0x00、0x00 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x30、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x4d、0xae、0x8f、0xf3、0x8f、0xf3、 0x4D、0xAE、0x8F、0xF4、0x00、0x01、0x06、0x00、0x00、0x00、0xC0、0x2E、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x44、0x00、0x00、0x00、0x4D、0xAE、0x8F、0xBE、0x8E、0xA0、0x53、0xA0、0xA7、0xA7、0xA7 0x2D, 0x01, 0x30, 0x37, 0xA6, 0xD6, 0xBE, 0xB9, 0x0A, 0x00, 0x01, 0x5A, 0x4A, 0xC9, 0x75, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00、0x00、0x01、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0xc3、0x8f、0x00、0x50、0x00、0x00、0x06、0x00、0x00、0x06、0x00、0x00、 0x02、0xa4、0x00、0x00、0x00、0x04、0x00、0x00、0x04、0x07、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x4D、0xAE、0x8F、0xBE、0x4D、0xAE、0x8F、0xF4、0x00、0x03、0x06、0x00、0x00、0x00、0xC0、0x17、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x01、0x4D、0xAE、0x8、D、0x8、0x8F、0 0x20、0x1C、0xC1、0xDE、0xA7、0x2D、0x01、0x30、0x37、0xA6、0xD6、0xBE、0xB9、0x0A、0x00、0x01、0x5A、0x5D、0xB8、0xDD、0x85、0x0、0x0、0x0 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0xc3、0x77、0x00、0x50、0x00、0x77 0x00、0x00、0x04、0x00、0x00、0x00、0xbe、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x62、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x4D、0xAE、0x8F、0xB6、0x4D、0xAE、0x8F、0xF4、0x00、0x03、0x06、0x00、0x00、0x00、0xc0、0x17、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x00、0x4d、0xae、 0x8F、0xB6、0x8E、0x58、0xD0、0xE0、0x1C、0xC1、0xDE、0xA7、0x2D、0x01、0x30、0x37、0xA6、0xD6、0xBEDD、0xB9、0x0A、0x00、0x01、0x8、0x5、0x5 0xe8、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0xc3、0x72、0x00、0x50、0x00、0x00、0x00、0x0d、0x00、0x00、0x04、0x86、0x00、0x00、0x00、0x17、0x00、0x00、0x77、0x77、0x00、0x00、0x00、0x00、0x00 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x4D、0xAE、0x8F、0xB6、0x4D、0xAE、0x8F、0xf4、0x00、0x03、0x06、0x00、0x00、0x00、0xc0、0x17、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x84、0x00、0x00、0x84、 0x00、0x00、0x01、0x4D、0xAE、0x8F、0xB5、0x8E、0x95、0xA4、0x60、0x1C、0xC1、0xDE、0xA7、0x2D、0x01、0x30、0x37、0xA6、0xB6、0xA9、0xB9 0x01、0x5a、0x40、0x98、0xd0、0x42、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x02、0x00、0x00、0x00 0x00、0x00、0x00、0x00、0x00、0xc3、0x6e、0x00、0x50、0x00、0x00、0x00、0x07、0x00、0x00、0x05、0x7e、0x00、0x00、0x00、0x03、0x00、0x00、0x02、0x88 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x4D、0xAE、0x8f、0xb5、0x4d、0xae、0x8f、0xf4、0x00、0x03、0x06、0x00、0x00、0x00、0xc0、0x17、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x84、0x00、0x00、0x01、0x4D、0xAE、0x8F、0xB4、0x8E、0xDA、0xAB、0xE0、0x1C、0xC1、0xDE、0xA7、0x2D、0x30、0x30、0x30、0x30 0xd6、0xbe、0xb9、0x0a、0x00、0x01、0x5a、0xd1、0x55、0x8f、0x60、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x01、0x00、0x00、0x00、0x01、0x00、 0x00、0x02、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0xc3、0x5f、0x00、0x50、0x00、0x00、0x00、0x05、0x00、0x00、0x02、0x54、0x00、0x00、0x00、 0x03、0x00、0x00、0x01、0x11、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x4D、0xAE、0x8F、0xB4、0x4D、0xAE、0x8F、0xF4、0x00、0x03、0x06、0x00、0x00、0x00、0xC0、0x17、0x00、0x0、0x0、0x0、0x0、0x00 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x82、0x00、0x00、0x01};

0 投票する
2 に答える
1218 参照

c++ - パケットタイムアウトC++の実装

コンピュータネットワークプロジェクトでは、さまざまなウィンドウプロトコルを使用してc++でftpサーバーを作成しています。動作するタイムアウト関数の実装に問題があります。その要点は、パケットが送信されるときにタイムスタンプを設定することです。「ack」が特定の時間(たとえば、2.5ミリ秒)以内に復活しない場合は、パケットを再送信します。現在、この関数を使用してclock_gettime()、パケットの現在の時刻とタイムスタンプを取得しています。

問題が発生しているwhileループは次のとおりです。

はパケットptimeoutが送信された時間であり、connection_parameters->timeoutIntervalはタイムアウト間隔です。問題は、ptimeoutが時間の長整数表現であるため、非常に大きな値になる場合があることです(たとえば、999715992)。これは、値が十分に大きくなる前にナノ秒単位の現在の時間が0にとどまるため、タイムアウトが発生したかどうかを判断できないことを意味します。

他の誰かがc++でこれらのタイミングの問題に対処し、可能な解決策を持っていますか?

ありがとう!

編集:

迅速な対応ありがとうございます!私は何かを理解することができました。whileループを変更して、タイムアウト+タイムスタンプが許可されている長いinteregerサイズよりも大きいかどうかを確認し、比較の前にclock_gettimeがゼロに戻るかどうかを確認します。これを知って、現在の時刻>(タイムアウト間隔-(maximum long int val-タイムスタンプ))かどうかを確認しました。これにより、最大1秒のタイムアウトが可能になります。これは、この問題の目的には十分なはずです。誰かが彼らがより良い解決策を持っていると思うなら、私に知らせてください!ありがとう!興味のある人のためのコードは次のとおりです。

0 投票する
1 に答える
339 参照

java - データのバーストを継続的なダイヤルアップ スタイルの接続にパケット化するにはどうすればよいですか?

Iridium の短いバースト データ サービスからデータのバースト (300 バイトの範囲) を変換する必要があるプロジェクトに取り組んでいます。これはダイヤルアップ接続を置き換えることを目的としているため、短いバーストからデータのバーストを取得し、それらをダイヤルアップ接続の連続ストリームに変換する必要があります。

私は比較的経験の浅いプログラマーであり、私が知っている唯一の言語は Java です。

どうすればデータを変換できますか? タイプの情報パケットがどのように動作し、Java でどのように操作するかについての背景資料はありますか?

[わかりやすくするために編集]

EDIT2:データを逆に変換する必要はありません(ストリームからチャンクへ)

0 投票する
1 に答える
127 参照

connection - プログラムの接続とパケットの追跡

これが非常に簡単な質問であることを願っています.. Windowsでコンパイルされた.exeプログラムがあり、Webサーバーのphpリソースに接続してデータをフェッチすることがわかっています。それらはわずか 1 ~ 2 KB ですが、私が知りたいのは、接続先の php リソースは何ですか? Windowsで、他のプログラムの接続を追跡できるプログラムはありますか?

どうもありがとうございました!マッテオ

0 投票する
3 に答える
64904 参照

udp - ネットワークUDPブロードキャストの設計?

私はC++サーバー/.NETクライアントアプリケーションのカップルに取り組んでいます。サーバー(Linux上でc ++を実行)がメッセージをブロードキャストして、ネットワーク全体に生きていることを示し、.NETプログラムがパケットをリッスンして稼働時間を取得するために解析しますサーバーの。

私が読んだように、通常のUDPブロードキャストをブロードキャストアドレスに送信するには、パケットを192.168.0.255(私の場合は192.168.2.255)または255.255.255.255に送信する必要があります。これは正しいですか?同じポートアドレスを使用できますか?他に必需品はありますか?

.NETプログラムがその特定のアドレスをリッスンすると、C++サーバープログラム以外のアプリケーションからパケットを受信できることを理解しています。.NETプログラムがパケットのヘッダーを読み取り、それが(ほぼ)探しているものであることを確認するために、C ++サーバー側でパケットに「署名」する方法はありますか?

0 投票する
1 に答える
3143 参照

c++ - 任意の (生の) パケットの送信

他の場所で質問されたのを見たことがありますが、満足のいく回答はありません。生のパケットを送受信するにはどうすればよいですか?

「生のパケット」とは、すべてのヘッダーとデータを生成しなければならない場所を意味するため、バイトは完全に任意であり、制限はありません。これが、Microsoft の RAW ソケットが機能しない理由です。送信元アドレスが正しくない TCP または UDP パケットを送信できないためです。

WinPCAP を使用すると、私が望むようにパケットを送信できることはわかっていますが、生の情報を受信することはできません。これも行う必要があります。