我听说有一些类型的ip地址,如主地址等,并尝试使用以下命令获取ip地址
ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'得到了如下结果
192.168.122.1 192.168.168.1 172.16.142.1 192.168.1.102
因此,从上面可以回答我的主要地址是谁?
发布于 2017-06-14 12:35:31
没有“主地址”或“主设备”这样的东西。您有多个与多个网虫设备相关的ip地址。
您可以了解哪些设备允许您访问互联网,并找到它的本地ip。
为此,发出命令route。它将输出类似于
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0现在只需要在行default上使用设备,并在下面的命令中使用它:
ifconfig <DEVICENAME> | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'发布于 2017-06-14 12:49:33
当机器有不同的IP地址时,仅从网络的角度定义主IP是不可能的。但是,机器规范的名称可以通过命令uname -n或POSIX函数uname获得。一旦您有了这个名称,您就可以通过getent命令或gethostbyname函数找到与其对应的IP地址:所谓的主IP地址是返回的第一个地址。
所以在这里你可以:
getent hosts $(uname -n) | head -1 | cut -f 1 -w发布于 2017-07-14 06:13:04
主地址取决于您的使用情况,在网络级别上没有这样的地址。如果您通常使用一个IP来访问您的服务器,您可能会将其称为主服务器,而网络设备将不知道其中的区别。
https://stackoverflow.com/questions/44544385
复制相似问题