python IP地址十六进制二进制间相互转换

# -*- coding:utf-8 -*-

import ipaddress,sys

def ip2hex_bin(file,*args,**kwargs):
    try:
        with open(file,‘r‘,encoding=‘utf-8‘) as f:
            allip = f.readlines()
        ip = [ ipaddress.IPv4Address(ip.strip(‘\n‘)) for ip in allip ]
        if flag == ‘-i‘:
            for i in ip:
                print(hex(int(i)))
        else:
            for i in ip:
                print(bin(int(i)))
    except Exception as e:
        print(e)

def hex_bin2ip(file,*args,**kwargs):
    try:
        with open(file,‘r‘,encoding=‘utf-8‘) as f:
            allip = f.readlines()
        for i in allip:
            a = i.strip(‘\n‘)
            print(ipaddress.IPv4Address(int(a,0)))
    except Exception as e:
        print(e)

if __name__ == ‘__main__‘:
    try:
        flag = sys.argv[1]
        file = sys.argv[2]
        IP = {
            ‘-i‘:ip2hex_bin,
            ‘-b‘:ip2hex_bin,
            ‘-h‘:hex_bin2ip
        }
        IP.get(flag)(file)
    except Exception as e:
        print(sys.argv[0],‘[-i|-b|-h] file‘)

github链接地址:https://github.com/babyshen/Python/blob/master/ip_conversion.py

时间: 2024-11-08 21:18:13

python IP地址十六进制二进制间相互转换的相关文章

python IP地址转16进制

python IP地址转16进制 第一种方法: 通过socket.inet_aton实现 import socket from binascii import hexlify ary='192.168.1.1' packed_ip_addr = socket.inet_aton(ary) hexStr=hexlify(packed_ip_addr) print('IP:'+hexStr) 输出: IP:c0a80101 第二种方法: 将字符串分割成数组,在转换成16进制 ary='192.168

ip地址 子网掩码 二进制转十进制 的详细介绍

------------------------------------------------IP地址的作用:    在一定范围内,唯一的标识,一个上网的设备:    (凡是需要上网的设备,必须得有IP地址) IP地址如何表示:    1.让机器看的          10101010100010101010 (纯2进制)    2.让人看的         点分十进制,X.X.X.X (X表示的是一个10进制)                              每一个X对应的是8个二

Python—IP地址与整数之间的转换

1. 将整数转换成IP: 思路:将IP地址转换成无符号32位的二进制,再8位进行分割,每8位转换成十进制即可. #!usr/bin/python 2 #encoding=utf-8 3 #1. 将整数转换成32位无符号二进制 4 def intToIp(num): 5 s = [] 6 g = [] 7 h = [] 8 for i in range(32): 9 a = num%2 10 s.insert(0,a) 11 num = num/2 12 print s 13 #2. 每8位进行分

python IP地址查询归属

#!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 #writer by keery_log #Create time:2013-10-30 #Last update:2013-10-30 #用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt import signal import urllib import j

Python实现十进制和二进制之间相互转换

十进制转二进制 原理:采用除2取余,逆序排列输出. 实现:用2整除十进制整数,可以得到一个商和余数:再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后依次翻转排序即可得到二进制数,在Python中我们采”//”(地板除)的方法实现转换 # 十进制整数转二进制def decToBin(num):    arry = []   #定义一个空数组,用于存放2整除后的商    while True:        arry.append(str(num % 2))  #用列表的ap

MySQL:IP 地址转换(在常见IP地址现数字之间相互转换)

mysql> select inet_aton('192.168.202.12'); +-----------------------------+ | inet_aton('192.168.202.12') | +-----------------------------+ |                  3232287244 | +-----------------------------+ 1 row in set (0.00 sec) 2.IP由数据形式转换为点分形式 mysql>

Python学习之——Tcp/ip基础/IP地址/DNS/端口简介

一.为什么需要tcp/ip,什么是tcp/ip? TCP/IP协议,即Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成.TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准.协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求.通俗

写一个简单的python脚本来返回ip地址的掩码,子网个数等

如果我们想快速得到一个IP地址段有多少个ip,快速得到IP地址段的子网掩码,或者快速得到一个IP地址的二进制,那么可以来学习一下.本文利用python的一个IP分析模块IPy实现,首先安装IPy模块 wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz tar -xf IPy-0.83.tar.gz cd IP

C语言实现IP地址合法性检测和子网匹配

#include <stdio.h> #include <stdlib.h> #ifdef WIN32 #include <Winsock2.h> #else #include <fcntl.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> #include <ar