Python 유효성 검사 IP 주소
- Python에서 IP 주소 유효성 검사
-
ipaddress
모듈을 사용하여 Python에서 IP 주소 유효성 검사 -
Python에서
RegEx.search()
메서드를 사용하여 IP 주소 유효성 검사 - Python에서 수동으로 IP 주소 유효성 검사
IP는 Internet Protocol의 약자로 인터넷에 연결된 모든 컴퓨터에 할당된 고유한 주소입니다. IPv4
및 IPv6
이라는 두 가지 버전의 IP 주소가 있습니다.
IPv4는 점으로 구분된 10진수 표기법으로 표시되며 각 옥텟은 0에서 255까지의 숫자를 포함하는 4개의 옥텟으로 구성됩니다. IPv6 주소는 각각 16비트를 나타내는 4개의 16진수로 구성된 8개의 그룹을 포함합니다.
콜론은 그룹을 구분합니다(:
). 이 가이드에서는 IPv4 주소의 유효성을 검사합니다.
Python에서 IP 주소 유효성 검사
IP 주소를 확인한다는 것은 입력한 IP가 유효한지 확인하는 것을 의미합니다.
예를 들어:
Input: 192.168.52.124
Output: Valid IP address
Input: 656.1.2.3
Output: Invalid IP address
ipaddress
모듈을 사용하여 Python에서 IP 주소 유효성 검사
ipaddress
는 유형(IPv4 또는 IPv6)에 따라 IP 주소를 확인하고 분류하는 데 사용되는 Python의 모듈입니다. 또한 산술 연산, 비교 등과 같은 다양한 작업을 수행합니다.
이 모듈에는 IP 주소를 확인하는 ip_address()
라는 메서드가 있습니다. 이 함수는 문자열 IP를 입력으로 받으며 문자열 IP를 IPv4 또는 IPv6 주소의 객체로 성공적으로 변환할 수 있으면 입력된 IP 주소가 유효한 것입니다.
그렇지 않으면 IP가 IPv4 또는 IPv6 주소로 나타나지 않는다는 값 오류가 발생합니다. 다음 코드에서 ipaddress
모듈을 가져오고 try-except
블록에 전체 코드를 작성했습니다.
IP가 유효하면 예외가 발생하지 않으며 그렇지 않으면 except
블록에서 값 오류 예외를 처리합니다.
사례 1: 유효한 IP 주소의 경우
# Python 3.x
import ipaddress
try:
ip = ipaddress.ip_address("192.168.1.1")
print("Valid IP Address")
except ValueError:
print("Invalid IP Address")
출력:
#Python 3.x
Valid IP Address
사례 2: 잘못된 IP 주소의 경우
# Python 3.x
import ipaddress
try:
ip = ipaddress.ip_address("992.168.1.1")
print("Valid IP Address")
except ValueError:
print("Invalid IP Address")
출력:
#Python 3.x
Invalid IP Address
Python에서 RegEx.search()
메서드를 사용하여 IP 주소 유효성 검사
IP 주소의 유효성을 검사하는 또 다른 방법은 정규식을 통해 유효한 IP 주소의 미리 정의된 패턴과 일치시키는 것입니다. re
모듈의 search()
메서드를 호출하여 다음 코드에서 IP 주소의 유효성을 검사하고 정규식과 IP를 인수로 전달했습니다.
이 메서드는 IP가 유효한 경우 True
를 반환합니다. 그렇지 않으면 False
를 반환합니다.
예제 코드:
# Python 3.x
import re
ip = "192.168.2.3"
regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
if re.search(regex, ip):
print("Valid IP Address")
else:
print("Invalid IP Address")
출력:
#Python 3.x
Valid IP Address
Python에서 수동으로 IP 주소 유효성 검사
내장 라이브러리 정규식 없이 IP 주소를 확인할 수 있습니다. 다음 코드에서 이 세 가지 조건을 확인하여 IP 주소를 검증하는 함수를 만들었습니다.
코드에서 다음 조건이 True
인 경우 IP가 유효하지 않습니다.
- 옥텟의 수가 4개가 아니다.
- 모든 옥텟은 정수 이외의 것을 포함합니다.
- 옥텟 내의 모든 숫자는 0-255 범위 밖에 있습니다.
예제 코드:
# Python 3.x
def validate_ip_address(ip):
octects = ip.split(".")
if len(octects) != 4:
return "Invalid IP"
for number in octects:
if not isinstance(int(number), int):
return "Invalid IP"
if int(number) < 0 or int(number) > 255:
return "Invalid IP"
return "Valid IP"
validate_ip_address("192.168.-1.1")
출력:
#Python 3.x
'Invalid IP'
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn