Skip to content

riha-cats/PingTester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ping Tester

pywebview + ping3 기반의 경량 데스크톱 핑 테스터. iOS 스타일 UI로 대상 호스트에 1초 주기로 핑을 보내고 지연 시간·성공률 통계를 실시간으로 보여줍니다.

Python 백엔드(Api.py_ping)와 HTML/JS 프런트엔드를 pywebview의 JS 브리지로 연결한 단일 창 앱입니다.

기능

  • 호스트명 / IPv4 / IPv6 핑 (1초 주기 반복)
  • 실시간 통계: Sent / Success / Fail / 평균 지연(ms)
  • 항목 클릭 시 상세 보기(시퀀스, 시각, 원본 응답)
  • 입력값 검증 및 응답 출력 이스케이프 처리

요구 사항

  • Python 3.13 (3.10+ 권장)
  • Windows (ping3의 raw socket 사용 — 환경에 따라 관리자 권한 필요)

설치 및 실행

# 가상환경 권장
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # macOS/Linux

pip install -r requirements.txt
python main.py

raw socket 권한 부족으로 권한 오류 메시지가 뜨면, 터미널을 관리자 권한으로 실행한 뒤 다시 시도하세요.

빌드 (단일 실행 파일)

PyInstaller로 단일 exe를 만듭니다.

pip install pyinstaller
pyinstaller main.spec

빌드 결과물은 dist/main.exe에 생성됩니다. (dist/, build/.gitignore로 제외됨)

프로젝트 구조

.
├── main.py            # pywebview 진입점 + Python 핑 브리지(Api)
├── index.html         # UI + 프런트엔드 로직
├── main.spec          # PyInstaller 빌드 스펙
├── requirements.txt
├── .gitignore
├── LICENSE
└── README.md

알려진 한계

  • ping3는 수신 패킷의 TTL/byte 수를 제공하지 않으므로 해당 값은 표시하지 않습니다.
  • 백신/방화벽이 raw socket(ICMP)을 차단하면 핑이 실패할 수 있습니다.

라이선스

MIT © 리하 (riha-cats)

Releases

Packages

Contributors

Languages