티스토리 뷰
TCP PORT 오픈 확인의 경우 아무런 툴없이 할 수 있는 방법을 발견함(telnet,tcpping,nc 없어도 가능)
bash만 있으면 가능하므로 모든 시스템에 사용가능
bash 기능임
먼저 테스트 대상 시스템
# ss -antlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:(("sshd",pid=69,fd=3))
LISTEN 0 100 *:7000 *:* users:(("scylla",pid=30,fd=100))
LISTEN 0 4096 127.0.0.1:5112 *:*
LISTEN 0 100 *:9180 *:* users:(("scylla",pid=30,fd=8))
LISTEN 0 128 *:4190 *:*
아래의 방법으로 port오픈을 확인 할 수 있음
echo > /dev/tcp/{{address}}/{{port}}
[root@scylla-0 /]# echo > /dev/tcp/127.0.0.1/22
[root@scylla-0 /]# echo $?
0
열려있다면 위와같이 별다른 메시지는 출력되지 않고 커맨드 결과는 0을 반환함
[root@scylla-0 /]# echo > /dev/tcp/127.0.0.1/23
bash: connect: Connection refused
bash: /dev/tcp/127.0.0.1/23: Connection refused
닫혀있다면 위와같은 메시지가 출력된다
[root@scylla-0 /]# echo > /dev/tcp/127.0.0.1/700
bash: connect: Connection refused
bash: /dev/tcp/127.0.0.1/700: Connection refused
[root@scylla-0 /]# echo > /dev/tcp/127.0.0.1/7000
[root@scylla-0 /]# echo $?
0