zoukankan      html  css  js  c++  java
  • python网络编程——将IPv4地址转换成不同的格式

    1.将IPv4地址转换为32位二进制格式,用做底层网络函数。

     1 import socket
     2 from binascii import hexlify
     3 
     4 
     5 def convert_IPv4_address():   # 定义convert_IPv4_address()函数
     6     for ip_addr in ['127.0.0.1', '192.168.0.1']:
     7         packed_ip_addr = socket.inet_aton(ip_addr)  # 将对应的IP地址转换为32—bit的封装包
     8         unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)   # 将对应的32-bit的封装包转换为IP地址的标准点号分隔字符串
     9         print("IP Address: %s => packed: %s, Unpacked: %s" % (ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr))
    10 
    11 
    12 if __name__ == '__main__':
    13     convert_IPv4_address()

    2. .inet_aton()和inet_ntoa()及hexlify()解释

     1 def inet_aton(string):  # real signature unknown; restored from __doc__
     2     """
     3     inet_aton(string) -> bytes giving packed 32-bit IP representation
     4 
     5     Convert an IP address in string format (123.45.67.89) to the 32-bit packed
     6     binary format used in low-level network functions.
     7     """
     8     return b""
     9     """将ip地址的4段地址分别进行2进制转化,输出用16进制表示
    10     >>> import socket
    11     >>> from binascii import hexlify
    12     >>> a = socket.inet_aton('192.168.1.1')
    13     >>> c=  hexlify(a)
    14     >>> c
    15     b'c0a80101'
    16     """
    17 
    18 
    19 
    20 def inet_ntoa(packed_ip):  # real signature unknown; restored from __doc__
    21     """
    22     inet_ntoa(packed_ip) -> ip_address_string
    23 
    24     Convert an IP address from 32-bit packed binary format to string format
    25     """
    26     pass
    27     """转换32位打包的IPV4地址转换为IP地址的标准点号分隔字符串表示。"""
    28 
    29 def hexlify(data):  # known case of binascii.hexlify
    30     """
    31     Hexadecimal representation of binary data.
    32 
    33     The return value is a bytes object.
    34     """
    35     return b""
    36     """用十六进制形式表示二进制"""
  • 相关阅读:
    如何设置java环境变量
    创建DLL动态链接库——模块定义法(def)
    创建DLL动态链接库——声明导出法
    fwrite()中参数含义——size和count经常用搞反
    解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载
    组播协议——IGMP v2报文头介绍
    IP/IGMP/UDP校验和算法
    POJ1625 Censored!
    HDU2222(Keywords Search,AC自动机)
    POJ1204 Word Puzzle(AC自动机)
  • 原文地址:https://www.cnblogs.com/ouyangyixuan/p/5870172.html
Copyright © 2011-2022 走看看