python 將ipv4的格式轉換

2021-09-21 03:37:48 字數 1216 閱讀 8335

段**中技術點使用了如下幾個方面:

1、for-in迴圈語句定義192.168.10.1和10.10.10.128兩個ip

2、使用inet_aton()把兩個字串格式的ip位址轉換成打包後的32位二進位制格式

3、使用inet_ntoa()把轉換成打包的32bit位址轉換為十進位制格式

3、使用binascii模組中的hexlify函式,以十六進製制形式表示二進位制資料。

4、print分段列印輸出格式

**如下:

1

2

3

4

5

6

7

8

importsocket

from binasciiimporthexlify

def convert_ipv4_address():

forip_addrin['192.168.10.1','10.10.10.128']:

packed_ip_addr = socket.inet_aton(ip_addr)

unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)

print ("ip address: %s => packed: %s, unpacked: %s"%(ip_addr,hexlify(packed_ip_addr),unpacked_ip_addr))

convert_ipv4_address()

備註:還要是注意格式的縮排,python對於縮排格式要求相對嚴格

執行結果截圖如下:

IPV4資料報頭部格式

摘自 深入理解計算機網路 王達著 機械工業出版社 來自 來自 傳送端的網路層在收到它的上一層 傳輸層發來的資料段時,需要通過網路層協議將其封裝成資料報,也就是加上網路層ip協議 在此僅以ip協議為例進行介紹 頭部。ip協議頭部主要是源和目的網路的ip位址,以便可以資料分段傳輸到目的網路中。然後資料報...

IPv4與IPv6資料報格式詳解

摘要 本文給出ipv4與ipv6資料報格式示意圖,並整理了各個字段含義,最後對比ipv4與ipv6資料報格式的區別。一 ipv4資料報 圖1 ipv4資料報格式 版本號 version 不同的ip協議版本使用不同的資料報格式。首部長度 hl,internet head length 確定ip資料報中...

IPv4與IPv6位址格式詳解

ipv4位址是類似 a.b.c.d 的格式,它是32位,用 分成四段,用10進製表示 ipv6位址類似 x x x x x x x x的格式,它是128位的,用 分成8段,每個x是乙個16進製制數 16 2 4 可見,ipv6位址空間相對於ipv4位址有了極大的擴充 ipv6 位址的長度為 128 ...