使用ip库可以做到。但十分不方便。(nali)
nali安装
解压
./configue && make && make install
我这里用外部url来获取相关信息。
最常见的www.ip138.com  www.ip.cn什么的都可以获取到目标IP的地区和运营商。
但适用于shell脚本的还是ip.cn舒坦。
复制内容到剪贴板
代码:
[root@localhost ~]# curl ip.cn?ip=114.114.114.114
IP:114.114.114.114 来自:江苏省南京市 信风网络
[root@localhost ~]#
用curl命令就搞定了。但想把内容拆分一下给到变量使用时确发现他万恶的用了中文符号
复制内容到剪贴板
代码:
:
。
用awk -F 倒也是可以搞定。如下:
复制内容到剪贴板
代码:
[root@localhost ~]# cat getip.sh
#!/bin/bash
Getip=$(curl -s ip.cn?ip=$1)
IParea=$(echo $Getip|awk -F ":" '{print $3}'|awk '{print $1}')
IPisp=$(echo $Getip|awk -F ":" '{print $3}'|awk '{print $2}')
if [ ! $1 ];then
IP=$(echo $Getip|awk -F ":" '{print $2}'|awk '{print $1}')
echo $IP $IParea $IPisp
else
echo $1 $IParea $IPisp
fi
[root@localhost ~]# ./getip.sh 114.114.114.114
114.114.114.114 江苏省南京市 信风网络
但还是有点不方便。于是各种百度弄了段php的代码来转换一下ip.cn的输出结果:
复制内容到剪贴板
代码:
<?php
header("Content-Type: text/html;charset=utf-8");
        $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
        $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
        $ip = ($_GET["ip"]) ? $_GET["ip"] : $user_IP;

        $ch = curl_init("http://www.ip.cn?ip=$ip");
                curl_setopt($ch,CURLOPT_USERAGENT,'curl/7.31');
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
                $output = curl_exec($ch);
                        $output2 = substr($output,5);
                        $row=split(' ',$output2);
                                $cip=$row[0];
                                $carea=substr($row[1],9);
                                $cisp=$row[2];

        $s = ($_GET["s"]) ? $_GET["s"] : "0";
                if ($s==0)
                {
                        echo "$cip $carea $cisp";
                }
                else
                {
                        $carea1=substr($carea,0,9);
                        echo "$cip $carea1 $cisp";
                }

        curl_close($ch);
?>
复制内容到剪贴板
代码:
[root@localhost html]# curl localhost?ip=114.114.114.114
114.114.114.114 江苏省南京市 信风网络
[root@localhost html]#
随便找个空间一放。以后用的时候直接访问自己的页面就可以了。

results matching ""

    No results matching ""