네트워크 정보 확인 명령어

  • 서버를 운영하다 보면 네트워크 연결이 정상인지 확인해야 될 때가 있음. 이
  • 네트워크 관련해서 알아두면 도움될 몇가지 명령어 알아본다.

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와 포트 확인 가능. img.png 위에서 쓴 옵션 설명
  • -l: 리스닝 서버 소켓 출력
  • -p: 소켓 사용하는 PID/프로그램 이름 출력
  • -u: UDP 소켓 출력
  • -t: TCP 소켓 출력
  • -n: 포트나 주소를 숫자로 출력
  • 현재 사용주인 전체 포트 확인하고 싶다면 -a 옴션쓰면됨.