목차
- 이전 포스팅의 파이썬 Enum 자료구조 선언 및 활용 예제 학습 링크
- 이전 포스팅의 파이썬 pid 파일 활용하여 스크립트 중복 실행방지 예제 학습 링크
- 이전 포스팅의 파이썬 와치독 WatchDog 만들기 예제 학습 링크
- 파이썬 코딩 언어 특정 아이피와 넷마스크 비트수를 가진 문자열 2개를 받아 같은 네트워크인지 확인하는 예제
- 파이썬 코딩 언어 결과 확인
이전 포스팅의 파이썬 Enum 자료구조 선언 및 활용 예제 학습 링크
이전 포스팅의 파이썬 Enum 자료구조 선언 및 활용 예제 학습을 통해 파이썬의 Enum을 사용하여 변수에 직관적인 이름을 부여하는 방법을 배웠습니다. Enum은 변수의 의미를 명확하게 전달하고 코드의 가독성을 높일 수 있습니다. 특히 Enum은 C, Java 언어와 같이 다른 언어에서도 활용되는 자료구조입니다. 나열형이라고도하며 일정한 인덱스에 의미를 부여하는 자료구조를 의미합니다. 만약 파이썬 코딩에서 Enum 자료구조 활용방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.27 - [Python] - [Python/Linux] 파이썬 Enum 자료구조 선언 및 활용 예제
이전 포스팅의 파이썬 pid 파일 활용하여 스크립트 중복 실행방지 예제 학습 링크
이전 포스팅의 파이썬 pid 파일 활용하여 스크립트 중복 실행방지 예제 학습을 통해 파이썬을 사용하여 pid 파일을 활용하여 스크립트의 중복 실행을 방지하는 방법을 살펴봤습니다. 만약 내 스크립트가 다른 사용자들에 의해 중복적으로 실행될 수 있는 가능성이 있고, 그러나 중복 실행되면 안되는 스크립트를 작성했다면 이러한 pid 파일을 활용하여 중복실행을 방지하는 기능이 필요합니다. 만약 파이썬 코딩에서 PID 파일을 사용하여 스크립트 중복 실행 방지 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.19 - [Python] - [Python/Linux] 파이썬 스크립트 중복 실행 방지 예제(pid 파일 활용)
이전 포스팅의 파이썬 와치독 WatchDog 만들기 예제 학습 링크
마지막으로 이전 포스팅의 파이썬 와치독 WatchDog 만들기 예제 학습을 통해 파이썬을 사용하여 WatchDog를 만드는 방법을 배웠습니다. WatchDog는 파일 또는 디렉토리의 변경을 모니터링하고 이벤트를 처리할 수 있는 프로세스를 의미합니다. 보통 특정한 프로세스가 종료 상태인지 주기적으로 파악하여 종료시에는 다시 프로세스를 신규로 생성시키고 실행시키는 그러한 작업을 의미합니다. 또한 와치독 자체 프로세스도 종료가 되면 안되기때문에 구현이 어렵습니다. 만약 파이썬에서 와치독 WatchDog 구현 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.19 - [Python] - [Python/Linux] 파이썬 프로세스 와치독 WatchDog 만들기 예제 - 3(와치독 자기 자신도 감시)
파이썬 코딩 언어 특정 아이피와 넷마스크 비트수를 가진 문자열 2개를 받아 같은 네트워크인지 확인하는 예제
아래는 파이썬 코딩 언어를 사용하여 사용자로부터 특정 아이피와 넷마스크를 입력받아 두 개의 문자열이 같은 네트워크에 속하는지 확인하는 예제입니다. 이러한 예제를 통해 내가 PC에 설정한 아이피와 넷마스크 대역에서 같은 로컬에 있는 다른 PC와 통신이 불가능하다면, 네트워크가 같은지 비교하여 해결할 수 있습니다.
import ipaddress
def check_network_match(ip1, mask1, ip2, mask2):
network1 = ipaddress.IPv4Network(f"{ip1}/{mask1}", strict=False)
network2 = ipaddress.IPv4Network(f"{ip2}/{mask2}", strict=False)
if network1.network_address == network2.network_address and network1.netmask == network2.netmask:
return True
else:
return False
ip1 = input("첫 번째 아이피 주소를 입력하세요: ")
mask1 = input("첫 번째 넷마스크 비트수를 입력하세요: ")
ip2 = input("두 번째 아이피 주소를 입력하세요: ")
mask2 = input("두 번째 넷마스크 비트수를 입력하세요: ")
if check_network_match(ip1, int(mask1), ip2, int(mask2)):
print("두 아이피가 같은 네트워크에 속합니다.")
else:
print("두 아이피가 다른 네트워크에 속합니다.")
파이썬 코딩 언어 결과 확인
아래는 파이썬으로 작성한 코드를 실행하고 결과를 확인하는 예제입니다. 사용자가 아이피와 넷마스크 비트수 문자열을 2개 입력하여 서로 같은 대역인지 확인합니다. Ipv4Network.network_address 두 개의 값을 비교하여 같은 네트워크인지 확인이 가능합니다.
첫 번째 아이피 주소를 입력하세요: 172.16.3.5
첫 번째 넷마스크 비트수를 입력하세요: 24
두 번째 아이피 주소를 입력하세요: 172.16.1.2
두 번째 넷마스크 비트수를 입력하세요: 16
두 아이피가 다른 네트워크에 속합니다.