⒈在Linux终端中查看公有IP的方法详解
首先回顾一下一般的查看IP的命令:
ifconfig
Linux查看IP地址的命令--ifconfig
ifconfig命令用于查看和更改网络接口的地址和参数
$ifconfig-a
lo0:flags=849mtu8232
inet127.0.0.1netmaskff000000
hme0:flags=863mtu1500
inet211.101.149.11netmaskffffff00broadcast211.101.149.255
ether8:0:20:a7:4d:21
系统会显示网络接口的名称,接口的状态(upordown),
接口的IP地址和掩码等信息
取出本机IP地址:
ifconfig|grepBcast|awk-F:'{print$2}'|awk-F""'{print$1}'
取出本机IP地址个数:
ifconfig|grepBcast|awk-F:'{print$2}'|awk-F""'{print$1}'|wc-l
如何在Linux终端中知道你的公有IP
公有地址由InterNIC分配并由基于类的网络ID或基于CIDR的地址块构成(被称为CIDR块),并保证了在全球互联网中的唯一性。
当公有地址被分配时,其路由将会被记录到互联网中的路由器中,这样访问公有地址的流量就能顺利到达。
访问目标公有地址的流量可经由互联网抵达。
比如,当一个CIDR块被以网络ID和子网掩码的形式分配给一个组织时,对应的[网络ID,子网掩码]也会同时作为路由储存在互联网中的路由器中。
目标是CIDR块中的地址的IP封包会被导向对应的位置。
在本文中我将会介绍在几种在Linux终端中查看你的公有IP地址的方法。
这对普通用户来说并无意义,但Linux服务器(无GUI或者作为只能使用基本工具的用户登录时)会很有用。
无论如何,从Linux终端中获取公有IP在各种方面都很意义,说不定某一天就能用得着。
以下是我们主要使用的两个命令,curl和wget。
你可以换着用。
Curl纯文本格式输出:
代码如下:
curlicanhazip.com
curlifconfig.me
curlcurlmyip.com
curlip.appspot.com
curlipinfo.io/ip
curlipecho.net/plain
curlwww.trackip.net/i
curlJSON格式输出:
代码如下:
curlipinfo.io/json
curlifconfig.me/all.json
curlwww.trackip.net/ip?json
(有点丑陋)
curlXML格式输出:
代码如下:
curlifconfig.me/all.xml
curl得到所有IP细节(挖掘机)
curlifconfig.me/all
使用DYDNS(当你使用DYDNS服务时有用)
代码如下:
curl-s'https://checkip.dyndns.org'|sed's/.*CurrentIPAddress:([0-9.]*).*/1/g'
curl-shttps://checkip.dyndns.org/|grep-o"[[:digit:].]+"
使用Wget代替Curl
代码如下:
wgethttps://ipecho.net/plain-O--q;echo
wgethttps://observebox.com/ip-O--q;echo
使用host和dig命令
如果有的话,你也可以直接使用host和dig命令。
代码如下:
host-tadartsclink.com|sed's/.*hasaddress//'
dig+shortmyip.opendns.com@resolver1.opendns.com
bash脚本示例:
代码如下:
#!/bin/bash
PUBLIC_IP=`wgethttps://ipecho.net/plain-O--q;echo`
echo$PUBLIC_IP
简单易用。
我实际上是在写一个用于记录每日我的路由器中所有IP变化并保存到一个文件的脚本。
我在搜索过程中找到了这些很好用的命令。
希望某天它能帮到其他人。