STUDY

리눅스 네트워크 및 프로세스 관련 명령어

Dalseung 2024. 11. 14. 01:24

netstat은 네트워크 상태를 보여주는 명령어로, 연결된 포트, IP 주소, 송수신 데이터량 등을 확인할 수 있다.

주요 옵션

  • netstat -a : 모든 소켓(연결된 것과 대기 중인 것)을 표시
  • netstat -t : TCP 연결만 표시
  • netstat -u : UDP 연결만 표시
  • netstat -l : 현재 수신 대기(listening) 중인 포트만 표시
  • netstat -p : 각 연결에 관련된 프로그램의 PID와 이름을 표시
  • netstat -n : IP 주소와 포트 번호를 숫자로 표시 (호스트 이름과 서비스 이름을 해석하지 않음)
  • netstat -r : 라우팅 테이블 표시
  • netstat -s : 프로토콜별 통계 표시
  • netstat -c : 실시간으로 네트워크 상태를 표시 (1초 간격으로 갱신)

예시

  • netstat -an : 모든 연결을 숫자 형식(IP 주소와 포트 번호)으로 표시
  • netstat -tunlp : 현재 열려 있는 TCP/UDP 포트와 프로그램 이름 표시
  • netstat -i : 네트워크 인터페이스의 통계 정보 표시
  • netstat -rn : 라우팅 테이블을 숫자 형식으로 표시

네트워크 관련 명령어

1. ifconfig

  • 네트워크 인터페이스의 설정 및 상태를 확인하는 명령어이다.
  • 예시: ifconfig 또는 ifconfig [인터페이스명]

2. ip

  • 네트워크 설정 및 경로 관리를 할 수 있는 명령어이다.
  • 예시:
    • ip addr : IP 주소 확인
    • ip link : 네트워크 인터페이스 정보 표시
    • ip route : 라우팅 테이블 확인

3. ping

  • 네트워크 연결 상태를 확인하는 명령어로, 대상 서버까지의 왕복 시간(RTT)을 측정한다.
  • 예시: ping [도메인명 또는 IP]

4. traceroute

  • 패킷이 목적지에 도달하기까지 거치는 라우터의 경로를 추적한다.
  • 예시: traceroute [도메인명 또는 IP]

5. nslookup

  • 도메인 이름을 IP 주소로, 또는 IP 주소를 도메인 이름으로 변환하는 도구다.
  • 예시: nslookup [도메인명 또는 IP]

6. dig

  • DNS 정보를 상세히 조회할 수 있는 명령어다.
  • 예시: dig [도메인명]

7. arp

  • 로컬 ARP(Address Resolution Protocol) 캐시를 확인할 때 사용한다. arp는 IP와 MAC 주소를 서로 매핑한다.
  • arp -a : ARP 캐시의 모든 내용 조회(= ip neigh)
  • arp -s [IP 주소] [MAC 주소] : ARP 캐시에 수동으로 내용추가, 스푸핑 방지를 위해서 static으로 추가하는 것이 좋다.
    (= ip neigh add [IP 주소] lladdr [MAC 주소] dev [인터페이스])
  • arp -d [IP 주소] : 특정 IP 주소에 대한 ARP 캐시 엔트리를 삭제한다.(= ip neigh del [IP 주소] dev [인터페이스])

프로세스 관련 명령어

1. ps

  • 현재 실행 중인 프로세스의 상태를 보여준다.
  • 주요 옵션:
    • ps aux : 모든 프로세스를 상세하게 출력
    • ps -ef : 표준 형식으로 모든 프로세스를 출력
    • ps -A : 모든 프로세스를 출력

2. top

  • 실시간으로 시스템의 프로세스와 리소스 사용량(CPU, 메모리 등)을 모니터링한다.
  • 주요 옵션:
    • top -u [사용자명] : 특정 사용자의 프로세스만 표시
    • top -p [PID] : 특정 PID를 가진 프로세스만 표시

3. kill

  • 특정 프로세스를 종료할 때 사용한다.
  • 예시: kill [PID]
  • 시그널 사용 예시: kill -9 [PID] (강제 종료)

4. pkill

  • 프로세스 이름으로 종료할 수 있는 명령어다.
  • 예시: pkill [프로세스 이름]

5. killall

  • 프로세스 이름을 기준으로 모든 해당 프로세스를 종료한다.
  • 예시: killall [프로세스 이름]

6. nice & renice

  • 프로세스의 우선순위를 조정하여 CPU 사용량을 조절할 때 사용한다.
  • 예시:
    • nice -n [우선순위] [명령어] : 새 프로세스를 지정한 우선순위로 실행
    • renice [우선순위] -p [PID] : 실행 중인 프로세스의 우선순위를 변경

---계속---

'STUDY' 카테고리의 다른 글

[1주차 TIL] KnockOn Bootcamp Pre.Rev : 연결리스트  (0) 2024.12.08
[1주차 TIL] KnockOn Bootcamp Pre.Rev : 헤더파일  (0) 2024.12.02
vim 명령어 정리  (2) 2024.11.14
[AI] 특성공학과 규제  (0) 2022.11.06
[AI] 선형회귀  (0) 2022.11.06