일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- KVM
- archlinux
- libvirt
- ubuntu
- terraform
- ceph
- Linux
- k8s
- awx
- golang
- OpenStack
- HTML
- Ansible
- Arch
- cloud-init
- grafana-loki
- kolla
- i3
- Docker
- pacman
- yum
- Octavia
- Kubeflow
- cephadm
- nfs-provisioner
- repository
- Kubernetes
- kolla-ansible
- ceph-ansible
- port open
Archives
- Today
- Total
YJWANG
[python] Linux 포트 오픈 체크 (check port listen) 본문
python 3.x 를 사용하여 간단하게 port open을 체크할 수 있는 프로그램을 만들었습니다.
click과 socker module을 사용했으며 코드는 아래를 참고 부탁드립니다.
혹 동작하지 않으면 OS 배포판 및 python 버전에 따라서 #! /usr/bin/python3 부분이 다를 수 있습니다.
참고 부탁드립니다.
code
#! /usr/bin/python3
import socket
import click
@click.command()
@click.option('-i', '--ip',required=True ,type=str ,help='Destination IP Address for checking')
@click.option('-p', '--port',required=True ,type=int ,help='Port Number for checking')
def CheckSocket(ip,port):
tcp_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_result = tcp_sock.connect_ex((ip,port))
if tcp_result == 0:
click.echo("Port is open")
else:
click.echo("Port is not open")
tcp_sock.close()
if __name__ == '__main__':
CheckSocket()
동작 예시
help
# ./pcheck --help
Usage: pcheck [OPTIONS]
Options:
-i, --ip TEXT Destination IP Address for checking [required]
-p, --port INTEGER Port Number for checking [required]
--help Show this message and exit.
변수 미입력
# ./pcheck -i 10.10.10.10
Usage: pcheck [OPTIONS]
Try "pcheck --help" for help.
Error: Missing option "-p" / "--port".
# ./pcheck
Usage: pcheck [OPTIONS]
Try "pcheck --help" for help.
Error: Missing option "-i" / "--ip".
포트 open 시
# ./pcheck -i 127.0.0.1 -p 8888
Port is open
포트 close 시
# ./pcheck -i 127.0.0.1 -p 8888
Port is not open
반응형