컴퓨터 지식 네트워크 - 컴퓨터 구성 - 파이썬은 IPv6 또는 IPv4 인터넷인지 판단합니다

파이썬은 IPv6 또는 IPv4 인터넷인지 판단합니다

ipv4 및 IPv6 주소 변환 방법 python 솔루션

ipv4 및 IPv6 주소 변환 방법 python 솔루션. Ipv4 및 IPv6 주소 변환 문제를 이해하려면 먼저 그 개념을 이해해야 합니다.

IPv4 및 IPv6 주소가 무엇인지 간단히 말해

ipv4: 인터넷 프로토콜 제 4 판이자 현재 인터넷 기술의 초석을 구성하는 최초의 프로토콜입니다.

IPv6: 인터넷 엔지니어링 태스크 포스가 현재 버전의 IPv4 를 대체하도록 설계된 차세대 IP 프로토콜입니다.

현재 IP 프로토콜의 버전 번호는 IPv4 이고 다음 버전은 IPv6 입니다.

ipv4 및 IPv6 주소 변환 방법에 대한 파이썬 솔루션, 소스 코드는 다음과 같습니다. (twisted.python.compat 및 struct 및 python socket 메서드 필요)

# twisted.python.compat 가져오기

# IPv4 디지털 주소

defipv4 _ to _ string (IPv4 Ipv4 _ n)

IPv4 _ string = socket.inet _ ntop (socket.af _ inet, 데이터)

return IPv4 _ string

def IPv4 _ from _ string (IPv4 _ string) Ipv4 _ string)

IPv4 _ n = struct.unpack ('I' , Data)

IPv4 = socket.ntohl (IPv4 _ n [0])

return IPv4

P >

def IPv4 _ int2 readable (IPv4):

return str (IPv4)

# iip 별도의 문자열) 는

defipv6 _ to _ string (IPv6):

IPv6 _ n = (소켓 ..

socket.htonl (IPv6 [3])

data = struct.pack ('iiii',) Ipv6 _ n [3])

IPv6 _ string = socket.inet _ ntop (socket.af _ inet6, 데이터)

returnipv6 _ string

defipv6 _ from _ string (IPv6 _ string) Ipv6 _ string)

IPv6 _ n = struct.unpack ('iiii', data)

IP

socket.ntohl(ipv6_n[2]),

socket.ntohl (IPv6 _ n [

Str(ipv6[0])+','+str(ipv6[1])+','+str(ipv6[2])+','+str )

#win32 에서 inet_pton 및 inet _ ntop

def inet _ ntop (family, Ipstr):

if family = = socket.af _ inet:

return socket.inet _; P >

V6 addr =':'. join ('02x02x' (ord (I), ord (j))

foin Ipstr [1:: 2])

return V6 addr

# www.iplaypy.com

Addr):

if family = = socket.af _ inet:

return socket.inet _ ad P >

v4 addr = addr [addr.rindex (':')+1:]

v4 addr = socket.inet V4addr)

v4addr.insert(2,':')

newaddr = addr [:addr; Newaddr)

dbyts = [0] * 8 # 8groups

grps = addr.split (':' 16)

else:

for j, w in enumerate (grps [::-1]):

16)

else:

break

break

return'' )

上篇: Word 문서를 분할 화면으로 표시하는 방법은 무엇입니까? 下篇: 레노버 휴대폰 모든 모델
관련 내용