netaddr
라이브러리를 사용하여 ipv4 서브넷 마스크를 cidr 표기법으로 변환하려면 어떻게해야합니까?
예 : 255.255.255.0 to /24
netaddr을 사용하여 파이썬에서 서브넷 마스크를 cidr로 변환하는 방법
4
A
답변
10
이 netaddr
사용 :
>>> from netaddr import IPAddress
>>> IPAddress("255.255.255.0").netmask_bits()
24
, 단지 넷 마스크의 이진 표현에 1 비트를 계산 :
>>> netmask = "255.255.255.0"
>>> sum([bin(int(x)).count("1") for x in netmask.split(".")])
24
+0
역순으로 cidr to netmask를 하나의 라이너에서 수행 할 수 있습니까? –
+1
@Bilal이 [post] (https://stackoverflow.com/q/23352028/244297)를 확인하십시오. [24, 16, 8, 0]에서 i에 대한 join ([str ((0xffffffff << (32- 접두사) >> i) 및 0xff))' –
2
>>> IPNetwork('0.0.0.0/255.255.255.0').prefixlen
24
0
다음 기능을 사용하십시오. 빠르고 신뢰할 수 있으며 라이브러리를 사용하지 마십시오.
# code to convert netmask ip to cidr number
def netmask_to_cidr(netmask):
'''
:param netmask: netmask ip addr (eg: 255.255.255.0)
:return: equivalent cidr number to given netmask ip (eg: 24)
'''
return sum([bin(int(x)).count('1') for x in netmask.split('.')])
관련 문제
- 1. .net을 사용하여 서브넷 마스크를 얻는 방법?
- 2. 서브넷 마스크를 사용하여 IP 주소 목록 정렬
- 3. IP 범위에서 서브넷 마스크를 계산하십시오.
- 4. 파이썬에서 IP 범위에서 CIDR로 변환 하시겠습니까?
- 5. Linux에서 Mono를 사용하여 서브넷 마스크를 쿼리하는 방법은 무엇입니까?
- 6. Caddr을 사용하여 CIDR로 ipaddress/mask를 변환하는 방법은 무엇입니까?
- 7. 파이썬에서 2 개의 ip 주소로 넷 마스크를 계산하는 방법
- 8. 루트없이 안드로이드에서 IPv4 서브넷 접두사/마스크를 얻으려면 어떻게해야합니까?
- 9. jcc를 사용하여 파이썬에서 변수를 변환하는 방법
- 10. C#에서 올바른 서브넷 마스크를 얻을 수 없습니다.
- 11. v4 및 v6 주소로 인터페이스에서 IPv4 서브넷 마스크를 얻으려면 어떻게해야합니까?
- 12. netaddr을 사용하여 IP가 IPNetworks 목록에 있는지 확인하십시오.
- 13. 마스크를 사용하여 UIImage를 저장하는 방법
- 14. 파이썬에서 while 루프로 변환하는 방법?
- 15. 파이썬에서 datetime을 정수로 변환하는 방법
- 16. 파이썬에서 문자열을 숫자로 변환하는 방법
- 17. 파이썬에서 작성된 코드를 변환하는 방법
- 18. 파이썬에서 문자열을 변수로 변환하는 방법
- 19. C에서 서브넷 마스크 얻기
- 20. 델파이에서 컴퓨터의 서브넷 마스크 식별
- 21. IP 서브넷 - 두 개의 서브넷?
- 22. C에서 Linux에서 서브넷 마스크 찾기
- 23. GetAdapterAddresses()에서 서브넷 마스크 가져 오기
- 24. 이 서브넷 마스크를 사용하여 모바일 네트워크에서 몇 개의 호스트 주소를 사용할 수 있습니까?
- 25. 최소 수의 ICMP 에코 요청을 사용하여 네트워크의 서브넷 마스크를 결정하는 방법은 무엇입니까?
- 26. Java에서 서브넷 및 서브넷 마스크로 IP 주소를 효율적으로 매핑하는 방법
- 27. 파이썬에서 연구실로 rgb를 변환하는 빠른 방법
- 28. 마스크를 사용하여 ImageView 만들기
- 29. android에서 마스크를 사용하는 방법
- 30. 마스크를 사용하여 UIView에 그림자를 추가하는 방법
시도해보고 시도해보십시오. – TemporalWolf