1. ping
ping 명령어는 IP 네트워크를 통해 특정 목적지까지 네트워크가 잘 동작하고 있는지 확인하는 명령어이다.
ping 명령어를 통해 서버로 패킷이 정상적으로 보내지는지 확인해 서버 네트워크 상태를 확인한다.
만약, 정상적으로 작동 중이던 서버에 패킷이 가지 않는다면 보통 서버에 hung이 걸려 다운되거나 다운되기 직전인 상황일 것이다.
# ping [옵션] [목적지 IP 주소]
[옵션]
-c count : 패킷을 몇 번 보낼 지 설정, 기본 설정은 강제로 정지할 때까지 패킷을 보낸다.
-i interval : 패킷을 보내는 시간 간격, 기본 설정 값은 1초, 슈퍼 유저의 경우 0.2 이하로 설정 가능
-I interface : 패킷을 보낼 때 출발지 주소를 지정
-s packetsize : 패킷 크기 지정, 기본 설정 값은 56바이트
2. traceroute
traceroute는 route를 추적하는 명령어이다.
ping 명령어처럼 패킷을 보내 정상적으로 도착하는지 확인해 주는 명령어로 ping과의 차이점으로는 패킷이 이동하는 경로를 보여준다는 점이다.
# traceroute [옵션] [목적지 IP 주소]
[옵션]
-I, --icmp : ICMP 기반으로 traceroute 수행
-T, --tcp : TCP SYN 으로 traceroute를 수행하면 기본 서비스 포트는 80
-n : IP 주소를 도메인이 아닌 숫자 형식으로 표시
-p port, --port=port : 특정 포트를 지정
-s src_addr, --source=src_addr : 패킷이 나가는 인터페이스가 아닌 별도 IP로 출발지 지정
게이트웨이부터 경로를 거쳐가면서 시간 출력과 구글 DNS로 도착하기?까지의 경로들이 표시된다.
3. netstat
netstat 명령어는 서버의 다양한 네트워크 상태를 확인할 수 있다.
막힌 포트와 열린 포트를 확인할 때 사용하고 라우팅 테이블을 보여주기도 하고 인터페이스 패킷 통계정보를 확인할 수 도 있다.
# netstat [옵션]
[옵션]
-a, --all : 모든 연결과 수신 대기 포트 표시
-n, --numeric : 주소와 포트 번호를 숫자 형식으로 표시
-r, --route : 라우팅 테이블 표시
-i, --interfaces : 인터페이스별 입출력 패킷 통계
-s, --statistics : 네트워크에 통계 데이터 출력
-p, --programs : PID와 프로그램 이름 출력
-t, --tcp : TCP만 출력
-l, --listening : LISTEN 하고 있는 포트 출력
-4/-6 : IPv4, IPv6에 대해 출력
* 포트를 확인할 때 주로 -a, -l. -p. -t 옵션을 사용한다.
모든 포트중에서 LISTEN 상태인 포트를 PID와 프로그램 이름을 TCP만 출력한다.
그럼 LISTEN인 포트 즉, 열려있는 포트만 보여준다.
위 그림에서 sshd 22번 포트도 열려있는 것을 확인할 수 있다.
여기서 grep 명령어를 사용하면 원하는 포트를 더 쉽게 찾을 수 있다.
'DevOps > LINUX' 카테고리의 다른 글
리눅스 네트워크 bonding 처리 방법 (1) | 2023.09.06 |
---|---|
tcpdump (2) | 2023.08.31 |
nslookup (0) | 2023.08.31 |
사용자와 그룹 관련 명령어 (0) | 2023.07.18 |
파일 압축과 묶기 (0) | 2023.07.17 |