質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.27%

  • PHP

    15639questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Linux

    2807questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Apache

    1381questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Apache Access Log にネットワークアドレス

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 90

nisimura

score 1

Apacheのアクセスログに、ネットワークアドレスが記録されています

PHPで作成したECサイトの決済ログの接続元IPにネットワークアドレスが記録されていたためプログラムの不具合を疑いApacheのログを確認した所、Apacheのログファイルにもネットワークアドレスで記録されておりました。
ネットワークアドレスでインターネット上の通信が成り立つと思っていなかったのですがそういった状況は何か特別条件が有るのでしょうか?
後学のためにもご存知のかた、お教え願えませんでしょうか。

Apache Access Log

XXX.XXX.XXX.0 - - [XX/Dec/2017:XX:XX:XX +0900] "GET / HTTP/1.1" 200 XXXXX "https://www.example.jp" "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"


一部抜粋・伏字

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+2

RFC 950 より引用

 "In certain contexts, it is useful to have fixed addresses
with functional significance rather than as identifiers of
specific hosts.  When such usage is called for, the address
zero is to be interpreted as meaning "this", as in "this
network".  The address of all ones are to be interpreted as
meaning "all", as in "all hosts".  For example, the address
128.9.255.255 could be interpreted as meaning all hosts on
the network 128.9.  Or, the address 0.0.0.37 could be
interpreted as meaning host 37 on this network."

なので、特定の状況においてはネットワークそのものを指すものとして扱う、のです。
従って普通の IP アドレスとして 192.168.0.0 を使うことは別に誤りではありません。単に文脈によってはネットワークそのものを指すのに使うこともあるから、慣習的に特定に割り振るのは避けましょう、という程度の話です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/21 17:39

    ネットワークアドレス・ブロードキャストアドレスは使わない。と理解していましたが、使えない訳ではないという事なのでしょうか。
    RFCの記述を読むと、実際使えるのかは別の問題として接続元のネットワークがそういう設定をしている。と考えるのが正しい様ですね。

    キャンセル

  • 2017/12/21 17:50

    はい、特定のマシンを指すアドレスとして使ってもいいのです。ですから今回の場合は、実際にそういうIPアドレスのマシンからアクセスしてきた、のでしょう。
    慣習的にはそもそもネットワークアドレスとして xxx.yyy.zzz.16/28 のような記述も可能ですし、xxx.yyy.zzz.aaa/32 という(他にいないことが保証される)ネットワークの構成もあるのですから。

    キャンセル

+1

考え方に誤りがあります。

ネットワークアドレスでインターネット上の通信が成り立つと思っていなかった

逆に「ネットワークアドレスがなければインターネット上の通信は成り立ちません。

この説明で質問の答えになっていなければ、追記してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/21 15:18

    IPアドレスが無いとインターネット上の通信が成り立たないのは理解しております。
    例えばプライベートIPでいう所の

    192.168.0.0   ネットワークアドレス
    192.168.0.1~254 通常のアドレス
    192.168.0.255 ブロードキャストアドレス

    この、ホスト部の2進数のビットが全て 0 であるアドレスでのログがApacheに記録されています。
    この予約済みIPで接続される事が可能なのか?なぜ予約アドレスで接続されたのかが今回疑問に思っている所になります。

    キャンセル

  • 2017/12/21 15:40

    IPアドレスでなく、ネットワークアドレスということですね。
    ひとつ勘違いされていらっしゃるので、nisimura の記述法で書く、IP アドレスは、2進数でなく、10進数です。
    で、本題に戻ると x.x.x.0 であれば、ネットワークアドレスというのは間違いです。
    192.168.0.0 ネットワークアドレス
    192.168.0~192.168.255.254 通常のアドレス
    192.168.255.255 ブロードキャストあどれす
    というネットワークも組めます。この場合、192.168.1.0 は通常のアドレスです。
    下記をご覧になるとわかりやすいかもしれません。
    https://note.cman.jp/network/subnetmask.cgi

    キャンセル

  • 2017/12/21 15:41

    失礼、敬称を書きそこないました。nisimura さんでした。

    キャンセル

  • 2017/12/21 15:58

    showkit さん

    ご回答有難うございます。
    ネットワークアドレス 勘違いをしてしまう名称ですよね。
    仰る通り、サブネットが24未満ですと、x.x.x.0 がIPアドレスとして認識される事も有りますね。

    実IPを晒す訳にはいかないので、プライベートアドレスに置き換えて確認させて頂きますが。

    Apache へ記録されているIP
     192.168.10.0

    JPNIC Whois
     192.168.10.0/29
    上位情報
     192.168.10/0/24
     192.0 0 0/10

    JPNIC のWhois 情報で、/29 で切られており、ネットワークアドレスだと認識しました。
    如何でしょうか。

    キャンセル

  • 2017/12/21 16:16

    う~ん。それは悩ましいですね。ネットワークアドレスが、グローバルアドレスの場合、「実IPを晒す訳にはいかない」ことはないので。
    (逆に登録されていないアドレスを使用しているのであれば、IPアドレスの改竄になるので通報の必要性があります)
    実IPを教えていただけますでしょうか。

    キャンセル

  • 2017/12/21 16:33

    すいません。
    実IPを晒すと、お客様の名前が出てきますので。
    「お客様が自身のサイトにアクセスしたので」と説明して納得頂いていますが、私自身消化不良で。
    上位情報は、OCNのネットワークなのですが。

    キャンセル

  • 2017/12/21 16:46

    なるほど、お客様のアドレスでしたら、晒すわけにいかないのは、納得です。
    ちょっと、お手上げな状態です。申し訳ありません。

    キャンセル

  • 2017/12/21 17:32

    ご回答頂きありがとうございました。
    引き続き回答待ちたいと思います。

    キャンセル

0

すみません、質問を勘違いしていました。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.27%

関連した質問

同じタグがついた質問を見る

  • PHP

    15639questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Linux

    2807questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Apache

    1381questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。