- ACL이나 보안 그룹(security group)으로 포트가 막혀 있는지, 열려있는지 확인하는 방법
- 보통은 ping 같은 명령어로 ICMP 패킷을 쏴보고 해당 서버가 살아있는지 먼저 확인
- ping으로는 살아 있는데, ssh 나 http 같은 건 안 되는 경우에, TCP 포트가 열려 있는 상태 확인
- /dev/의 built-in에 대해서 조금 더 자세한 내용 참고 URL : https://tldp.org/LDP/abs/html/devref1.html
1. tcping
- TCP SYN 패킷을 보내서 해당 포트가 열려 있는지 확인해주는 간단한 프로그램
- 서버의 네트웍 연결 상태를 확인할 때, ping 차단(ICMP차단)된 서버의 네트웍 상태를 TCP를 통해 특정 tcp포트 확인
- "telnet 서버주소 포트" 시도 후 'Escape character is "]"' 문자열이 보이는지 확인하여 연결 상태를 확인 가능
- tcping을 쓰게 되면, ping처럼 round-trip time을 출력
- TCP 연결 속도도 확인 가능
- TCP 연결은 최대한 빠르게 처리하기 때문에 latency를 좀 더 정확히 보려면 ping보다는 tcpping을 써야 함
tcpping 명령어를 사용하기 위해서 tcping 패키지 설치 필요
$ yum install -y tcping # 설치된 tcping 명령어 위치 확인 $ which tcping /usr/bin/tcping
tcping 명령어 사용 예시
# Open된 포트에서 tcping을 통해 접속 확인 $ tcping -t 5 www.daum.net 80 www.daum.net port 80 open. # Close된 포트에서 tcping을 통해 접속 확인 $ tcping -t 5 www.daum.net 8080 www.daum.net port 8080 closed.
2. telnet <IP><PORT>
- 텔넷으로 IP, port를 명시하면 해당 서버에 저 포트가 열려 있는지 간단히 확인 가능
- 연결 → 서버 연결되면 명령어가 입력이 안되기에 Ctrl+']' 를 누르시면 텔넷 프롬프트가 출력
- 텔넷 프롬프트가 출력될 때 quit을 입력하여 종료
telnet 명령어 사용 예시
# Close된 포트에서 telnet 접속 요청 $ telnet 127.0.0.1 10002 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused # Open된 포트에서 telnet 접속 요청 $ telnet 127.0.0.1 22 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1 ^C^] telnet> quit Connection closed.
3. echo > /dev/tcp/<ip>/<port>
bash의 built-in 기능
/dev/tcp를 이용하면 wget이나 curl이 없어도 파일을 받아올 수 있음
포트가 열려 있는 경우라면, 아무 메시지가 나오지 않은 상태로 끝남
echo $?을 통해 이전 명령어의 결과를 출력하면 0이 나옴
바로 전 실행 명령이 0이면 정상적으로 끝났다는 유닉스 세계의 메시지
$ echo > /dev/tcp/127.0.0.1/22 $ echo $? 0
- 포트가 열려 있지 않은 경우에는 에러 메시지도 나오며, $?의 값이 1로 나옴 → 성공적으로 연결 X
$ echo > /dev/tcp/127.0.0.1/10002 bash: connect: 연결이 거부됨 bash: /dev/tcp/127.0.0.1/10002: 연결이 거부됨 $ echo $? 1
'Network(네트워크)' 카테고리의 다른 글
eth0, em1, p2p1 이더넷 이름 (0) | 2023.09.16 |
---|---|
RX/TX errors 및 패킷 dropped 확인 → ifconfig 명령어, ethtool 명령어 (0) | 2022.07.18 |
LACP 로드 밸런싱 (0) | 2022.07.17 |
LACP(Link Aggregation Control Protocol; IEEE 802.3ad) (0) | 2022.07.17 |
unknown unicast 발생이유와 해결방안 (0) | 2022.07.15 |