启动后,获取和显示设备当前正在使用的IP地址的最简单方法是什么?
我正在使用Raspbian,ifconfig
但似乎未安装。
是否有任何小部件在LXDE中显示此信息?
启动后,获取和显示设备当前正在使用的IP地址的最简单方法是什么?
我正在使用Raspbian,ifconfig
但似乎未安装。
是否有任何小部件在LXDE中显示此信息?
Answers:
不推荐使用if系列工具(包括ifconfig),并使用较新的ip命令替换它们,因此您可以从命令行使用以下任一命令来确定IP地址:
sudo ip addr show
要么
sudo hostname --ip-address
或者如果您仍想使用ifconfig,并且尚未安装
sudo apt-get install wireless-tools
sudo ifconfig -a
ip a
如果您想获取IP地址就足够了:)
/sbin/ifconfig
或/sbin/ip
以任何用户身份运行。
您也可以使用这个小python脚本。
import socket
def get_local_ip_address(target):
ipaddr = ''
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((target, 8000))
ipaddr = s.getsockname()[0]
s.close()
except:
pass
return ipaddr
print "Raspberry Pi - Local IP Address"
print(get_local_ip_address('10.0.1.1'))
print(get_local_ip_address('google.com'))
作为查找DHCP分配的IP地址的替代方法,我在路由器/ DHCP服务器中添加了保留的IP地址。它与Raspi的MAC地址匹配,并且始终分配相同的IP地址-即使在全新安装OS之后也是如此。
Wheezy现在默认情况下启用了SSH,这意味着我可以登录到新安装的Raspberry Pi,而无需连接键盘或显示器。
很抱歉没有直接回答问题,但似乎很相关,可以提出建议。
您也许可以检查DHCP服务器上的DHCP状态/日志。特别是在您的家庭网络上。在我拥有的所有路由器上,这很容易找到。
如果您无头运行并且仅想知道要发送到的地址,这将很有帮助。
b8:27:eb:xx:xx:xx
,它可能是一个RPI :)
如果您想查看外部IP地址,请在命令行中使用此地址
卷曲http://ipecho.net/plain ; 回声;
您可以创建一个函数来简化它。
编辑.bashrc,并在文件末尾添加以下功能。
显示外部IP地址的功能
从cli调用函数
您可能会在此链接中找到更多有趣的方式来获取您的IP地址
http://www.if-not-true-then-false.com/2010/linux-get-ip-address/
$ host raspberrypi
raspberrypi has address 192.168.1.20
$ host raspberrypi | grep ‘address’ | cut -d’ ‘ -f4
192.168.1.20
$ nslookup 192.168.1.20
Server: 192.168.1.1
Address: 192.168.1.1#53
20.1.168.192.in-addr.arpa name = raspberrypi.
$ nslookup 192.168.1.20 | grep ‘=’ | cut -d’ ‘ -f3
raspberrypi
我建议您使用Bonjour而不是查找IP地址。通过DHCP进行分配,只要您的PC在同一网络上,您就可以按名称访问它。
例如.. raspberrypi.local
一旦设置完成,您就可以完全无头运行,使用SSH或VNC等连接到Pi。
这是一篇文章,说明如何设置Bonjour。 http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207
请注意,对于Windows计算机,您将需要安装Apply Bonjour打印机服务驱动程序,这是一件很小的事情...
对于Mac和Ubuntu,Bonjour已经存在。
仅在此处添加一些补充,可能没有ifconfig的原因是因为您的系统可能正在使用iproute2套件。iproute2包括旧的ifconfig和路由套件的更新等效项。
我之所以提出这一点,是因为如果您开始尝试使用ifconfig或route所习惯的命令,那么您的第一个直觉可能是安装那些旧软件包,而不仅仅是使用更新的软件包。例如,如果您需要使用netstat并意识到它不存在,只需搜索“ iproute2 netstat等效项”,然后应该找到“ ss”命令。有关更多的阅读和文档,请参考Linux Foundation上的文章:http : //www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
我相信arp -a
一旦您的pi连接到网络,在Windows或Linux上将是最简单的。
man arp
当前开始“此程序已过时”。