hostname的查看和设置

关于hostname

hostname是一台机器的网络身份标签,往往在安装系统的时候就设置好了。每一台机器应该有自己独一无二的身份id。

A hostname is a label assigned to a machine that identifies the machine on the network. Each device in the network should have a unique hostname.

The hostname can be a simple string containing alphanumeric characters, dots and hyphens. If the machine is connected to the Internet (such as web or mail server) it is recommended to use a fully qualified domain name (FQDN) as a system hostname. The FQDN consists of two parts, the hostname, and the domain name.
引用出处

查看与设置

  1. windows 中 我的电脑 属性设置

  2. linux系统中

$hostnamectl

lee@lee-VirtualBox:~$ hostnamectl
   Static hostname: lee-VirtualBox
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 113281522bfd49a08ac07ddd600dce03
           Boot ID: 40aa9fc060764230a9f0f60ad6531fed
    Virtualization: oracle
  Operating System: Ubuntu 20.04.3 LTS
            Kernel: Linux 5.15.0-71-generic
      Architecture: x86-64

sudo hostnamectl set-hostname mail.linuxize.com

使用python获取的方法

方法1(在Linux系统中会返回127.0.0.1):

def get_host_ip():
    """
    查询本机ip地址
    :return: ip
    """
    
    hostname = socket.gethostname()
    ip = socket.gethostbyname(hostname)
    return ip

方法2:

import socket
import fcntl
import struct
 
def getip(ifname):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        netaddr = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15].encode('utf-8')))
        ipaddr = socket.inet_ntoa(netaddr[20:24])
    
        return ipaddr
    except OSError as oe:
        print ('No such device: ', ifname)
 
print ('lo: ', getip('lo'))
print ('eth0: ', getip('eth0'))
print ('eth1: ', getip('eth1'))

方法3,最为可靠:

def get_host_ip():
    """
    查询本机ip地址
    :return: ip
    """
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip = s.getsockname()[0]
    finally:
        s.close()
        return ip
···

相关推荐

  1. hostname查看设置

    2024-02-19 15:48:04       37 阅读
  2. 人大金仓参数查看设置

    2024-02-19 15:48:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-19 15:48:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-19 15:48:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-19 15:48:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-19 15:48:04       20 阅读

热门阅读

  1. 软考笔记--数据挖掘技术

    2024-02-19 15:48:04       27 阅读
  2. C语言整理#2:常用字符串函数

    2024-02-19 15:48:04       28 阅读
  3. 【ArcGIS Pro二次开发】(80):标注_CIMLabelClass

    2024-02-19 15:48:04       26 阅读
  4. 17.1 SpringMVC框架_SpringMVC入门与数据绑定(❤❤)

    2024-02-19 15:48:04       25 阅读
  5. 代码随想录二刷——二叉树day22

    2024-02-19 15:48:04       33 阅读
  6. SpringBoot的 8 个优点

    2024-02-19 15:48:04       30 阅读
  7. 嵌入式开发之SQLite数据库

    2024-02-19 15:48:04       29 阅读
  8. 【c++每天一题】跳跃游戏

    2024-02-19 15:48:04       31 阅读
  9. php捕获Fatal error错误与异常处理

    2024-02-19 15:48:04       30 阅读