ホームページ >運用・保守 >Linuxの運用と保守 >Linuxのinetアドレスとは何ですか

Linuxのinetアドレスとは何ですか

藏色散人
藏色散人オリジナル
2023-04-21 11:06:592354ブラウズ

linux inet addr は関数です。inet_addr() の機能は、ドット付き 10 進数の IP を長整数に変換することです。構文は "in addr t inet addr(const char *cp)" のようになります。この関数は、インターネットの「.」で区切られた形式を使用した数値インターネット アドレスを表す cp パラメータの文字列を解釈します。

Linuxのinetアドレスとは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux inet addr とは何ですか?

inet_addr() の機能は、ドット付き 10 進数の IP を長整数 (u_long 型) に変換することです

inet addr 関数

inet addr 関数は、ネットワーク ホスト アドレス (192.168.1.10 など) をネットワーク バイト オーダー バイナリ値に変換します。パラメータ char*cp が無効な場合、関数は - 1 (NADDR NONE) を返します。この関数はアドレス 255.255.255.255 を処理するときにも戻ります - 1,255.255.255.255 は有効なアドレスですが、inet addr は処理できません

in addr t inet addr(const char *cp)

この関数は cp パラメータの文字列を解釈します, この文字列は、インターネットの「.」で区切られた形式を使用した数値インターネット アドレスを表します。戻り値はインターネットアドレスとして使用できます。すべてのインターネット アドレスは、ネットワーク バイト オーダー (バイトは左から右に配置されます) で返されます。

インターネットアドレスは「.」で区切って次のように表現できます:

a.b.c.d,a.b.c,a.b,a

4つの部分が固定値の場合、それぞれ1バイトのデータとして解釈されます。アドレスは左から右に構成されます。 Intel マシンでインターネット アドレスが 32 ビット整数として表される場合、上記のバイトは「d.c.b.a」になることに注意してください。これは、Intel プロセッサのバイトが右から左に配置されているためです。

注意: 次の表現は Berkeley のみがサポートしており、インターネット上の他の場所ではサポートされていません。ソフトウェアとの互換性を考慮し、仕様どおりにご使用ください。

3 つの部分からなるアドレスの場合、最後の部分は 16 ビット データとして解釈され、ネットワーク アドレスの右端の 2 バイトとして使用されます。このように、3 部構成のアドレスは、「128.net.host」などのグループ B ネットワーク アドレスを簡単に表すことができます。

2 部構成のアドレスの場合、最後の部分は 24 ビットとして解釈されます。データであり、ネットワーク アドレス バイトの右端の 3 つの部分として機能するため、2 つの部分からなるアドレスは、「net.host」などのグループ C ネットワーク アドレスを簡単に表すことができます。

1 つの部分のみからなるアドレスの場合、その値はバイトの再編成なしでネットワーク アドレスに直接格納されます。

戻り値:

エラーが発生しない場合、inet_addr() はインターネット アドレスを適切なバイト順で格納する符号なし長整数を返します。 「a.b.c.d」アドレスの項目が 255 を超えるなど、受信文字列が有効なインターネット アドレスではない場合、inet_addr() は INADDR_NONE を返します。 IP の一部が 1 つしかない場合 (つまり、「.」がない場合)、IP 文字列が数値のみで構成されている場合、inet_addr() は数値が 255 より大きいかどうかをチェックしません。

推奨学習: 「Linux ビデオ チュートリアル

以上がLinuxのinetアドレスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。