首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的linux机器上找到主ip地址?

如何在我的linux机器上找到主ip地址?
EN

Stack Overflow用户
提问于 2017-06-14 12:09:00
回答 3查看 3.9K关注 0票数 1

我听说有一些类型的ip地址,如主地址等,并尝试使用以下命令获取ip地址

代码语言:javascript
复制
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

因此,从上面可以回答我的主要地址是谁?

EN

回答 3

Stack Overflow用户

发布于 2017-06-14 12:35:31

没有“主地址”或“主设备”这样的东西。您有多个与多个网虫设备相关的ip地址。

您可以了解哪些设备允许您访问互联网,并找到它的本地ip。

为此,发出命令route。它将输出类似于

代码语言:javascript
复制
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上使用设备,并在下面的命令中使用它:

代码语言:javascript
复制
ifconfig <DEVICENAME> | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*'
票数 1
EN

Stack Overflow用户

发布于 2017-06-14 12:49:33

当机器有不同的IP地址时,仅从网络的角度定义主IP是不可能的。但是,机器规范的名称可以通过命令uname -n或POSIX函数uname获得。一旦您有了这个名称,您就可以通过getent命令或gethostbyname函数找到与其对应的IP地址:所谓的主IP地址是返回的第一个地址。

所以在这里你可以:

代码语言:javascript
复制
getent hosts $(uname -n) | head -1 | cut -f 1 -w
票数 1
EN

Stack Overflow用户

发布于 2017-07-14 06:13:04

主地址取决于您的使用情况,在网络级别上没有这样的地址。如果您通常使用一个IP来访问您的服务器,您可能会将其称为主服务器,而网络设备将不知道其中的区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44544385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档