Search

핑 자동 보내기

파이썬 코드 준비

import subprocess import time def ping_sweep(network): for i in range(1, 255): ip = f"{network}.{i}" try: output = subprocess.check_output(["ping", "-c", "1", "-W", "1", ip], stderr=subprocess.STDOUT, universal_newlines=True) if "1 received" in output: pass # 호스트가 응답했을 때만 처리 필요할 경우 여기에 코드 추가 except subprocess.CalledProcessError: pass # 호스트가 응답하지 않을 경우 처리 필요할 경우 여기에 코드 추가 def main(): network = "10.5.5" for _ in range(4): # 4번 반복 ping_sweep(network) time.sleep(60) # 1분 대기 if __name__ == "__main__": main()
Python
복사
import subprocess def ping_specific_ip(ip): try: output = subprocess.check_output(["ping", "-c", "1", "-W", "1", ip], stderr=subprocess.STDOUT, universal_newlines=True) if "1 received" in output: pass # 호스트가 응답했을 때 처리할 필요가 있으면 이곳에 추가 except subprocess.CalledProcessError: pass # 호스트가 응답하지 않았을 때 처리할 필요가 있으면 이곳에 추가 def main(): ips = ["10.5.5.47", "10.5.5.40"] while True: # 무한 반복 for ip in ips: ping_specific_ip(ip) if __name__ == "__main__": main()
Plain Text
복사

파일 등록

cd /usr/local/bin sudo vi ping_sweep.py
Python
복사
위의 파이썬 코드 작성

권한 수정

sudo chmod +x /usr/local/bin/ping_sweep.py
Python
복사

서비스등록

서비스 파일 작성

sudo vi /etc/systemd/system/ping_sweep.service
Python
복사

내용 작성

[Unit] Description=Ping Sweep Service After=network.target [Service] ExecStart=/usr/bin/python3 /usr/local/bin/ping_sweep.py Restart=always User=root [Install] WantedBy=multi-user.target
Plain Text
복사

서비스 활성화 및 시작

sudo systemctl daemon-reload sudo systemctl enable ping_sweep.service sudo systemctl start ping_sweep.service
Plain Text
복사

서비스 상태 확인

sudo systemctl status ping_sweep.service
Plain Text
복사