네트워크 정보 확인 명령어
- 서버를 운영하다 보면 네트워크 연결이 정상인지 확인해야 될 때가 있음. 이
- 네트워크 관련해서 알아두면 도움될 몇가지 명령어 알아본다.
IP 정보 확인
- 리눅스:
ifconfig - 윈도우:
ipconifig - ipconfig는 각 네트워크 인터페이스별로 IP 주소를 포함한 정보를 보여준다.
- ipconfig하면 나오는것중에서 eth0는 일반적인 네트워크 인터페이스고 lo는 로컬 루프백 인터페이스다.
nc 명령어로 연결 확인
- 서버 프로그램에는 다양한 내부/외부 서비스와 연동하는데 종종 연결이 불안정할 때가있다.
- 연결이 잘 이루어지는지 확인 필요성이 있는데 보통 가장 먼저 확인하는 작업은 해당 서버의 특정 포트로 연결이 잘 되는지 확인하는 것.
- 특정 포트로 연결이 잘 되는지 확인할 때 사용할 수 있는 명령어로 nc가 있다.
다음은 nc로 443 포트로 연결이 되는지 확인하는 명령어의 예
$ nc -z -v www.daum.net 443
Ncat: Version 7.92 (https://nmap.org/ncat)
Ncat: Connected to 211.242.332.24:443.
Ncat: 0 bytes sent, 0 bytes received in 0.07 seconds.
- -z 옵션은 데이터 전송 없이 특정 포트가 열려있는지 확인.
- -v옵션은 추가 정보를 출력. -v를 안쓰면 연결에 성공해도 메시지를 출력하지 않으므로 답답할 수 있다.
- UDP 포트가 열려있는지 여부도 확인가능한데 -u 옵션 쓰면됨.
- nc 쓰면 특정 포트 사용하는 서버 구동도 가능! 실제 서버 프로세스 구동전에 두 노드간 통신 제대로 되는지 확인가능함.
- -l 을 쓰면 되는데 리스닝 모드. 즉, 서버 모드를 뜻함.
- -p는 클라 요청을 수신할 포트 의미.
- 참고로 클라이언트가 연결하면 nc 프로그램이 종료되므로 연결확인이 필요할 때마다 실행해야됨.
netstate 명령어로 포트 사용 확인
- 서버 프로세스가 구동되어 있는데 해당 포트로 연결이 안된다면 실제 포트로 클라이언트 연결을 기다리고 있는지 확인해야 하는데 이때 사용할 수 있는 명령어가 netstat 다.
- 이 명령어를 쓰면 현재 사용 중인 소켓의 IP와 포트 확인 가능.
위에서 쓴 옵션 설명 - -l: 리스닝 서버 소켓 출력
- -p: 소켓 사용하는 PID/프로그램 이름 출력
- -u: UDP 소켓 출력
- -t: TCP 소켓 출력
- -n: 포트나 주소를 숫자로 출력
- 현재 사용주인 전체 포트 확인하고 싶다면 -a 옴션쓰면됨.