コマンドでIPを確認出来るようにする【UNIX】

公開: 2015-04-19 04:21
更新: 2016-04-29 06:03

開発用のサーバーなんかIPでアクセス制限をかけたいです。

グローバルIPを教えてくれるサイトが多々あるので、そこを見に行けばいいのですが、今日はカッコ良くターミナル上で確認できるようにしたいと思います。


流れとしてはIPを返すWebページを作り、wgetで値をとってくる。
という流れです。すこし回りくどいですが、致し方あるまい。




1.IPを返すWEBページをの作成

PHPでささっと返します。

めんどくさい場合は echo $_SERVER['REMOTE_ADDR'] でOKです。

function get_client_ip() {
        $ip = '';
        $localhost = '127.0.0.1';
        $keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR');
        foreach($keys as $key) {
                if(isset($_SERVER[$key]) && $_SERVER[$key] != $localhost) {
                        $ip = $_SERVER[$key];
                        break;
                }
        }
        return $ip;
}

echo get_client_ip();



2.wgetで取得してみる

wgetで取得してみます。

-q -Oオプションで標準出力になります。

$ wget -q -O - http://appstars.jp/ipcheck.php

結果はこんな感じ。

180.xx.xxx.xxx%

いい感じですが、後ろに「%」が入っています。邪魔なのでsedで取り除きましょう。

$ wget -q -O - http://appstars.jp/ipcheck.php | sed s/%//

「%」を「」で置換しています。

結果はこんな感じ。

180.xx.xxx.xxx

OKですね。




3.aliasの作成

先ほどのコマンドのaliasを作成しましょう。名前は「ipcheck」にします。

.bashrcとか.bash_profileに次のように記述。

alias ipcheck='wget -q -O - http://appstars.jp/ipcheck.php | sed s/%//'

上書きしたら読み込み直して...

$ source .bashrc

いざ実行っ

$ ipcheck

結果は...

コマンドでIPを確認出来るようにする【UNIX】

ばっちぐーっ

便利になりました♪



この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。