問題タブ [inet]

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 投票する
0 に答える
94 参照

java - InetAddress.getLocalHost() は異なるアドレスを提供します

InetAddress.getLocalHost().getHostAddress() は、マシン上の 2 つの git ブランチで異なるアドレスを提供します。1 つのブランチでは 127.0.0.1 が返され、別のブランチではマシンのプライベート アドレス 10.xxx が返されます。

理由がわかりませんか?

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

postgresql - Postgresは、IP(inet)がIP範囲のリストにあるかどうかを確認します

IP が範囲の範囲内に存在するかどうかを確認したい、例えば:SELECT * FROM ip_address WHERE ip IN (<list of ip ranges>)

Postgresql のドキュメントには、 << 演算子を使用して、IP が単一の IP 範囲内に含まれてinet '192.168.1.5' << inet '192.168.1/24'いるかどうかを確認することが記載されています。の。

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

android - Android NDK の Netlink 実装

このリンクに記載されているのと同様のタスクが必要です。. Android でのソケットのパッシブ モニタリング。1 つの方法は、/proc/net/{tcp,udp,...} テーブルを解析することです。しかし、監視を続けるためには、継続的に読み続ける必要があります。これは効率的な方法ではありません。これはモバイル デバイス アプリになるため、時間間隔 (たとえば 1 秒) の監視を続けるために CPU 時間を必要とするため、バッテリーを消費します。

しかし、私はイベントベースのアプローチを探しています。同じことについてグーグルで調べたところ、ソケットを監視するためにNETLINKで終了しました。しかし、Android NDK は

INETソケットを監視するためにAndroidでNETLINKを使用しようとした人はいますか? もしそうなら、情報を共有してください。

ありがとう。


更新: 上記のファイルを「jni」フォルダーにコピーして貼り付け、ndk-build を使用してビルドしようとしました。ビルドは成功し、実行時のクラッシュもありませんでした。ただし、型のソケット作成

エラー EACCES(13) で失敗しています - 指定されたタイプまたはプロトコルのソケットを作成する権限が拒否されました。

さらに進める方法について何か提案はありますか?

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

php - PHP で IP アドレスをバイナリ文字列として比較するにはどうすればよいですか?

現在、PHP ベースのプロジェクトで IPv4 および IPv6 アドレスを使用しています。2 つの IP を比較して、どちらが大きいかを判断できるようにする必要があります。たとえば、192.168.1.9 は 192.168.1.1 より大きくなります。これを行うために、inet_ptonunpackを使用して IP をバイナリ文字列に変換しました(私はip2longに精通していますが、IPv4 に限定されています)。

この方法は最初は問題なく動作するように見えましたが、.32 で終わる IP を下位の IP アドレスと比較すると、間違った結果が得られることがすぐにわかりました。たとえば、192.168.1.0 と 192.168.1.32 を比較すると、スクリプトは 192.168.1.0 が 192.168.1.32 より大きいことを示します。これは、IP の 1 つが .32 で終わる場合にのみ発生します。IP の最初の 3 オクテットは変更でき、結果は同じです。

次の PHP コードは、この問題を説明するページを生成します。

結果のサンプルを次に示します。

IP を人間が読める形式に戻すと、正しい IP が返されるため、問題は比較にあると思います。バイナリ比較用にstrcmpに切り替えてみましたが、結果は同じでした。

この原因を特定するための助けをいただければ幸いです。サンプル スクリプトに示されている IP 変換および比較方法を使用するつもりはありませんが、IPv4 と IPv6 の両方をサポートする方法に固執する必要があります。ありがとう。

Zend Engine v2.3.0およびionCube PHP Loader v4.6.1を使用して、PHPバージョン5.3.3を実行しています

編集:アンパック形式を「A4」(スペースで埋められた文字列)から「a4」(NULで埋められた文字列)に変更することで問題を解決しました。詳細については、以下の私の回答を参照してください。

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

omnet++ - イーサネットを介した RREQ 受信メッセージの転送 [OMNET++ および INET]

RREQ パケット (MANET シミュレートされたネットワーク経由で受信) をイーサネット インターフェイス経由で転送しようとして困っています。私が探しているのは、(ワイヤレスインターフェイスから受信した)上記のパケットを、イーサネット経由で直接接続されている別のホストに送信する方法です。

ホスト A のワイヤレス インターフェイスからパケットを受信するとします。ホスト A には、ホスト B に直接接続されたイーサネット インターフェイスもあり、そのパケットをイーサネット インターフェイス経由で転送して、ホスト B がそのイーサネット インターフェイス経由でこのパケットを受信できるようにします。

そのためにどの関数を使用すればよいかわかりません。

私が取り組んでいるプロジェクトは大きなものなので、質問に答えるためにコードが必要になったらすぐにコードを含めます。

編集:

したがって、最終的な目標は MANET ネットワークにワームホール攻撃を実装することです。簡単に言うと、ワームホール攻撃には、高速接続、つまりイーサネットを介して直接接続された 2 つの攻撃者 (ATTACKER_A と ATTACKER_B) が関与します。ATTACKER_A の近隣が RREQ を送信し、ATTACKER_A がそれを受信するとすぐに、RREQ をネットワークで単にブロードキャストする代わりに、イーサネットを介して ATTACKER_B に転送します。ATTACKER_B が RREQ を受信すると、無線で RREQ を近隣に転送し、AODV manet ネットワークの通常のノードとして機能します。

その結果、ATTACKER_A の近隣は、ATTACKER_B の近くにあるホストがそれ自身の近隣の一部であると考えるようにだまされ、ネットワークの 2 つの離れた部分の間にワームホールが作成されます。

実際、理論はそれほど複雑ではありません。

これがネットワークスキーマです ワームホール スキーマ

これが SimpleWormhole.ned です。

NA_ATTACKERADHOCHOST は、他の ned ファイルから連続して継承する ned ファイルです。継承チェーンを振り返ると、最初の ned ファイルは、イーサネット ゲートに関連する部分を含む NA_NODEBASE であることがわかりました。

NA_NODEBASE.n​​ed

最後に、攻撃者は AODV プロトコルの実装を使用します。これを機能させるには、コードを編集する必要があります。コードは INET フレームワークから取得されます。

ワームホールの動作を実装するために編集する必要がある貴重な関数を見つけるために、すべての aodv コードを検索したところ、おそらくこの関数の一部をここで変更する必要があることがわかりました。

NA_AODV_rreq.cc

ご覧のとおり、本当の問題はすべてのコードが AODV ソース ファイル内にあることです。モジュール性の高さの原因は、それを実装する正しい方法を探すのに苦労しています。また、ドキュメントの欠如はまったく役に立ちません。