를 사용하는 방법 netstat 리눅스에서

  • 데이브 맥케이

    @TheGurkha

  • February17,2020,8:00EDT
Fatmawati 세 Zaenuri/

Linuxnetstat명령은 보물에 대한 정보를 귀하의 네트워크 연결 포트를 사용하며 프로세스가 그들을 사용하고 있습니다. 그것을 사용하는 방법을 배우십시오.

포트,프로세스 및 프로토콜

네트워크 소켓 수 있는 연결을 기다리는 연결합니다., 연결은 Tcp(Transport Control Protocol)또는 사용자 데이터그램 프로토콜 UDP 와 같은 네트워킹 프로토콜을 사용합니다. 그들은 인터넷 프로토콜 주소와 네트워크 포트를 사용하여 연결을 설정합니다.

단어 소켓 수 있습을 연상의 이미지를 실제에 대한 연결 지점을 이끌어 또는 케이블이지만,이러한 맥락에서 소켓이 소프트웨어를 구축을 처리하는 데 사용되는 하나의 네트워크 데이터를 연결합니다.,

광고

소켓는 두 가지 주요국:그들은 하나에 연결하고 촉진하는 지속적인 네트워크 커뮤니케이션,또는 그들이 기다리고 있 들어오는 연결에 연결하는 그들. 다국과 같은 상태우 소켓을 통해 미드웨이 연결을 설정하는 원격 장치에서만 일시적인국,따로 생각할 수 있는 소켓의 하나로 연결되거나 기다리고 있(라 듣고).

청취 소켓은 서버라고하며 청취 소켓과의 연결을 요청하는 소켓을 클라이언트라고합니다., 이러한 이름은 하드웨어 또는 컴퓨터 역할과는 아무런 관련이 없습니다. 그들은 단순히 연결의 각 끝에서 각 소켓의 역할을 정의합니다.

netstat명령을 발견 할 수있는 소켓이 연결되어 있는 소켓을 듣고 있다. 의미,어떤 포트가 사용 중이고 어떤 프로세스가 사용 중인지 알려줍니다. 네트워크 인터페이스 및 멀티 캐스트 연결에 대한 라우팅 테이블 및 통계를 표시 할 수 있습니다.

netstat의 기능은 ip 및 ss 와 같은 다른 Linux 유틸리티에서 시간이 지남에 따라 복제되었습니다., 그것은 여전히 가치를 알고 이 할아버지의 모든 네트워크 분석 명령이기 때문에,그것은에서 사용 가능한 모든 리눅스와 유닉스는 운영 체제,그리고 심지어는 윈도우와 맥.다음은 예제 명령으로 완성 된 사용 방법입니다.

나열 모든 소켓

-a(모든)옵션을netstat쇼 모든 연결을 기다리는 소켓을 지원합니다. 이 명령은 긴 목록을 생성 할 책임이 있으므로less로 파이프합니다.,

netstat -a | less
광고

목록에는 TCP(IP),TCP6(IPv6)및 UDP 소켓이 포함됩니다.터미널 창에서 랩 어라운드를 사용하면 어떤 일이 벌어지고 있는지 알기가 조금 어려워집니다. 여기에 몇 가지 섹션에서는 목록이다.

“인터넷”섹션에 나와 연결된 외부 연결을 지역 소켓을 대기 원격 연결 요청합니다. 즉,외부 장치에 설정된(또는있을)네트워크 연결을 나열합니다.,

Advertising

“UNIX domain”섹션에는 연결되고 청취되는 내부 연결이 나열됩니다. 즉,운영 체제의 다른 응용 프로그램,프로세스 및 요소간에 컴퓨터 내에 설정된 연결을 나열합니다.

“활성 인터넷”열은 다음과 같습니다.

  • Proto:이 소켓에서 사용하는 프로토콜(예:TCP 또는 UDP).
  • Recv-Q:수신 대기열입니다. 이들은 수신되고 버퍼링 된 수신 바이트이며,이 연결을 사용하는 로컬 프로세스가 읽고 소비하기를 기다리고 있습니다.,
  • Send-Q:send 큐입니다. 그러면 보내기 대기열에서 보낼 준비가 된 바이트가 표시됩니다.
  • 로컬 주소:연결의 로컬 끝의 주소 세부 정보입니다. 기본값은netstat을 보여 로컬 호스트 이름,주소 및 서비스의 이름에 대한 포트입니다.
  • 외국 주소:연결의 원격 끝의 주소와 포트 번호입니다.
  • 상태:로컬 소켓의 상태입니다. UDP 소켓의 경우 일반적으로 비어 있습니다. 아래의 상태 표를 참조하십시오.,

TCP 연결의 경우 상태 값은 다음 중 하나 일 수 있습니다.

  • LISTEN:Server-side 전용. 소켓이 연결 요청을 기다리고 있습니다.
  • SYN-SENTED:클라이언트 측에만 해당됩니다. 이 소켓은 연결 요청을했으며 허용되는지 기다리고 있습니다.
  • SYN-RECEIVED:서버 측에만 해당됩니다. 이 소켓은 연결 요청을 수락 한 후 연결 확인을 기다리고 있습니다.
  • 설립:서버 및 클라이언트. 서버와 클라이언트간에 작업 연결이 설정되어이 둘 사이에서 데이터를 전송할 수 있습니다.,
  • FIN-WAIT-1:서버 및 클라이언트. 이 소켓 연결에 대한 종료 요청을 원격에서 소켓 또는 승인의 연결을 종료 요청 이전에 보내에서 이 소켓에.
  • FIN-WAIT-2:서버 및 클라이언트. 이 소켓은 원격 소켓에서 연결 종료 요청을 기다리고 있습니다.
  • 닫기 대기:서버 및 클라이언트. 이 소켓은 로컬 사용자의 연결 종료 요청을 기다리고 있습니다.
  • 닫기:서버 및 클라이언트., 이 소켓은 원격 소켓에서 연결 종료 요청 확인을 기다리고 있습니다.
  • LAST-ACK:서버 및 클라이언트. 이 소켓은 원격 소켓으로 보낸 연결 종료 요청에 대한 확인을 기다리고 있습니다.
  • 시간 대기:서버 및 클라이언트. 이 소켓은 원격 소켓에 확인을 보내 원격 소켓의 종료 요청을 받았음을 알립니다. 이제는 인정이 접수되었는지 확인하기 위해 기다리고 있습니다.
  • 폐쇄:연결이 없으므로 소켓이 종료되었습니다.,

“Unix 도메인”열은 다음과 같습니다.

  • Proto:이 소켓에서 사용되는 프로토콜입니다. 그것은”유닉스.”
  • RefCnt:참조 수입니다. 이 소켓에 연결된 연결된 프로세스의 수입니다.
  • 플랙:이것은 일반적으로 설정하는ACC를 나타내는SO_ACCEPTON의미하는 소켓을 기다리고 있는 연결에 대한 요청을 합니다. SO_WAITDATAW로 표시되며 읽기 대기중인 데이터가 있음을 의미합니다., SO_NOSPACE,다음과 같으로N,없다는 것을 의미한 공간에 데이터를 쓰는 소켓(즉,송신 버퍼가 가득).
  • 유형:소켓 유형. 아래의 유형 표를 참조하십시오.
  • 상태:소켓의 상태입니다. 아래 상태 표를 참조하십시오.
  • I-Node:이 소켓과 관련된 파일 시스템 inode 입니다.
  • 경로:소켓에 대한 파일 시스템 경로입니다.

유닉스 도메인 소켓 유형 중 하나가 될 수 있습니 다음과 같다:

  • DGRAM:소켓에서 사용되는 데이터그램 모드를 사용하여 메시지의 고정 길이입니다., 데이터 그램은 신뢰할 수 있고 시퀀싱되거나 중복되지 않도록 보장되지 않습니다.
  • 스트림:이 소켓은 스트림 소켓입니다. 이것은 일반적인”정상적인”유형의 소켓 연결입니다. 이러한 소켓은 패킷의 안정적인 순서(순서)전달을 제공하도록 설계되었습니다.
  • RAW:이 소켓은 원시 소켓으로 사용되고 있습니다. 원시 소켓은 OSI 모델의 네트워크 수준에서 작동하며 전송 수준에서 TCP 및 UDP 헤더를 참조하지 않습니다.
  • RDM:이 소켓은 안정적으로 전달 된 메시지 연결의 한쪽 끝에 있습니다.,
  • SEQPACKET:이 소켓이 운영으로 순차적으로 패킷 소켓는 또 다른 방법을 제공하는 믿을 수 있고,서열,그리고 비중복 패킷을 배달합니다.
  • 패킷:원시 인터페이스 액세스 소켓. 패킷 소켓을 사용하여 수신 또는 보고서를 생성한 패킷에서 장치 드라이버(즉,데이터 링크 계층)수준의 OSI model.

Unix 도메인 소켓 상태는 다음 중 하나 일 수 있습니다.

  • FREE:이 소켓은 할당되지 않았습니다.
  • 청취:이 소켓은 들어오는 연결 요청을 수신하고 있습니다.,
  • 연결:이 소켓은 연결하는 과정에 있습니다.
  • 연결됨:연결이 설정되었으며 소켓은 데이터를 수신하고 전송할 수 있습니다.
  • 연결 끊기:연결이 종료되는 과정에 있습니다.
광고

와우,그건 많은 정보 야! 의 많은netstat옵션 결과를 구체화 또는 다른 하나의 방법으로,하지만 그들은 변화하지 않은 콘텐츠에 너무 많다. 한번 보자.,

목 소켓 유형

netstat -a명령할 수 있는보다 더 많은 정보를 제공해야 합니다. 당신이 원하는 또는 필요시 TCP 소켓을 사용할 수 있습니다-t(TCP)옵션을 제한 표시를 표시 TCP 소켓이 있습니다.

netstat -at | less

디스플레이 아웃이 크게 감소합니다. 나열된 몇 개의 소켓은 모두 TCP 소켓입니다.,

-u(UDP)와-x(UNIX)옵션이 동작하에 유사한 방법으로 제한하는 결과를 유형의 소켓을 지정합니다. 사용중인-u(UDP)옵션은 다음과 같습니다.

netstat -au | less

UDP 소켓 만 나열됩니다.

목 소켓으로 상태

를 참조 소켓에 있는 듣기 또는 기다리고 있는 상태,사용하는-l(listening)옵션을 선택합니다.

netstat -l | less
광고

소켓 나와 있는 그들은 듣는 상태입니다.,

이것은-t(tcp,-u(UDP)및-x(UNIX)옵션과 결합하여 관심있는 소켓에 추가로 집에 들어갈 수 있습니다. 청취 TCP 소켓을 살펴 보겠습니다.

netstat -lt | less

이제 TCP 수신 소켓 만 표시됩니다.

네트워크를 통해 프로토콜

netstat -st | less
광고

컬렉션에 대한 통계의 TCP 연결은 표시에서less.

프로세스 이름 및 Pid 표시

해당 프로세스의 이름과 함께 소켓을 사용하여 프로세스의 프로세스 ID(PID)를 보는 것이 유용 할 수 있습니다., -p(프로그램)옵션은 바로 그 작업을 수행합니다. 청취 상태에있는 TCP 소켓을 사용하여 프로세스에 대한 Pid 및 프로세스 이름이 무엇인지 살펴 보겠습니다. 우리가 사용하는sudo를 확인 우리가 받은 모든 의 사용할 수 있는 정보를 포함하여 모든 정보는 일반적으로 필요한 루트 권한이 있습니다.

sudo netstat -p -at

여기에는에서 출력 형식의 테이블:

우리는 추가 열에”라는 PID/프로그램으로 이름입니다.”이 열에는 각 소켓을 사용하는 프로세스의 PID 와 이름이 나열됩니다.,

나열 숫자의 주소

또 다른 단계이 우리가 할 수 있는 일부를 제거하는 모호함을 표시하는 로컬 및 원격 주소에 IP 주소 대신에 자신의 해결 도메인 및 호스트. 우리가 사용하는 경우에는-n(숫자)옵션을 IPv4 주소는 다음과 같 점수 형식:

sudo netstat -an | less
광고

IP 주소는 다음과 같으로 숫자 값이 있습니다. IP 주소에서”:“콜론으로 구분 된 포트 번호도 표시됩니다.

127.0.0 의 IP 주소입니다.,1 은 소켓이 로컬 컴퓨터의 루프백 주소에 바인딩되어 있음을 보여줍니다. 0.0.0.0 의 IP 주소는 로컬 주소의”기본 경로”를 의미하고 외국 주소의”모든 IP 주소”를 의미한다고 생각할 수 있습니다. “::“로 표시된 IPv6 주소도 모두 0 주소입니다.

나열된 포트는 일반적인 목적이 무엇인지 쉽게 확인할 수 있습니다.

  • 22:이것은 Ssh(Secure Shell)청취 포트입니다.
  • 25:이 간단한 메일 전송 프로토콜(SMTP)수신 포트.
  • 53:DNS(Domain Name System)청취 포트입니다.,
  • 68:DHCP(Dynamic Host Configuration Protocol)청취 포트입니다.
  • 631:이것은 일반적인 UNIX 인쇄 시스템(CUPS)청취 포트입니다.

관련:127.0.0.1 과 0.0.0.0 의 차이점은 무엇입니까?

라우팅 테이블 표시

-r(route)옵션은 커널 라우팅 테이블을 표시합니다.,

sudo netstat -r

여기에는 출력에서 테이블:

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default Vigor.router 0.0.0.0 UG 0 0 0 enp0s3 link-local 0.0.0.0 255.255.0.0 U 0 0 0 enp0s3 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3

고,여기에 무슨 열을 의미한다:

  • 목적지:대상 네트워크 또는 대상 장치를 호스트(는 경우에는 대상은 네트워크)에 있습니다.
  • 게이트웨이:게이트웨이 주소입니다. 게이트웨이 주소가 설정되지 않은 경우 별표”*“가 여기에 나타납니다.
  • Genmask:경로의 서브넷 마스크입니다.
  • 플래그:아래의 플래그 테이블을 참조하십시오.,
  • MSS:기본 최대 세그먼트를 위한 크기 TCP 연결이있다—이것은 최대한 양의 데이터를 받을 수 있는 하나의 TCP 세그먼트입니다.
  • 창:기본 창 크기를 위한 TCP 통한 연결 이 경로의 개수를 나타내는 패킷을 전송할 수 있는 최고 받기 전에 수신 버퍼가 가득 찼습니다. 실제로,패킷은 수신 애플리케이션에 의해 소비된다.
  • irtt:초기 왕복 시간. 이 값은 커널에서 참조하여 응답 속도가 느린 원격 연결에 대해 tcp 매개 변수를 동적으로 조정합니다.,
  • Iface:이 경로를 통해 전송 된 패킷이 전송되는 네트워크 인터페이스입니다.

플래그 값은 다음 중 하나 일 수 있습니다.

  • U:경로가 최대입니다.
  • H:Target 은 호스트이며이 경로에서 가능한 유일한 목적지입니다.
  • G:게이트웨이를 사용합니다.
  • R:동적 라우팅을 위해 경로를 다시 설치하십시오.
  • D:라우팅 데몬에 의해 동적으로 설치됩니다.
  • M:icmp(Internet Control Message Protocol)패킷을 수신했을 때 라우팅 데몬에 의해 수정되었습니다.,
  • A:addrconf,자동 DNS 및 DHCP 설정 파일 생성기에 의해 설치됩니다.
  • C:캐시 항목.리>!:경로를 거부합니다.

을 찾아 사용되는 포트는 프로세스에 의해

경우 우리는 파이프의 출력을netstat통해grep,우리가 할 수 있습 검색에 대한 프로세스에 의해 이를 식별하는 포트에서 사용하고 있습니다. 우리가 사용하는-a(모든),-n(숫자)와-p(프로그램)옵션을 사용 이전에,그리고”에 대한 검색 sshd.,”

sudo netstat -anp | grep "sshd"
광고

grep발견 대상에는 문자열,그리고 우리는sshd데몬을 사용하여 포트 22.

물론,우리는 또한 이것을 역으로 할 수있다. “:22″를 검색하면 해당 포트를 사용하는 프로세스(있는 경우)를 찾을 수 있습니다.

sudo netstat -anp | grep ":22"

이번grep를 찾”:22″대상에는 문자열,그리고 우리는 프로세스를 사용하여 이 포트는sshd데몬 프로세스 ID751.,

목 네트워크 인터페이스

-i(인터페이스)옵션이 표시됩니다 테이블 네트워크 인터페이스는netstat을 발견할 수 있습니다.

sudo netstat -i

여기에 출력에 더 읽 패션

Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp0s3 1500 4520671 0 0 0 4779773 0 0 0 BMRU lo 65536 30175 0 0 0 30175 0 0 0 LRU

이것은 어떤 열을 의미한다:

  • Iface:이름이의 인터페이스입니다. enp0s3인터페이스는 네트워크 인터페이스 외부 세계로,그리고lo인터페이스는 루프백 인터페이스입니다., 루프백 인터페이스 프로세스를 서로 교통을 이내에 사용하는 컴퓨터 네트워킹 프로토콜,는 경우에도 컴퓨터가 네트워크에 연결되어 있지 않습니다.
  • MTU:최대 전송 단위(MTU). 이것은 보낼 수있는 가장 큰”패킷”입니다. 라우팅 및 프로토콜 플래그 및 기타 메타 데이터와 실제로 전송되는 데이터가 포함 된 헤더로 구성됩니다.
  • RX-OK:오류 없이 수신된 패킷 수입니다.
  • RX-ERR:오류가 있는 수신된 패킷 수입니다. 우리는 이것이 가능한 한 낮아지기를 원합니다.,
  • RX-DRP:삭제 된 패킷 수(즉,손실). 우리는 또한 이것이 가능한 한 낮아지기를 원합니다.
  • RX-OVR:수신시 오버플로로 인해 손실 된 패킷 수입니다. 즉 일반적으로 수신 버퍼가 가득할 수 있었을 받아들이지 않는 어떤 데이터를 더 많이 있지만,더 많은 데이터를 수신했을 삭제하도록 합니다. 이 수치가 낮을수록 좋으며 0 은 완벽합니다.
  • TX-OK:전송 된 패킷 수,오류 없음.
  • RX-ERR:전송된 패킷 수(오류 포함)입니다. 우리는 이것이 0 이되기를 원합니다.,
  • RX-DRP:전송할 때 삭제된 패킷 수입니다. 이상적으로 이것은 0 이어야합니다.
  • RX-OVR:전송할 때 오버플로로 인해 손실 된 패킷 수입니다. 이것은 일반적으로 의미를 보낼 버퍼가 가득할 수 있었을 받아들이지 않는 어떤 데이터를 더 많이 있지만,더 많은 데이터가 준비되어 있었을 전송되고 파기됩니다.
  • Flg:플래그. 아래의 플래그 표를 참조하십시오.

플래그를 나타내는 다음과 같다:

목 멀티캐스트 그룹 구성원

단순히 넣어,멀티캐스트 전송할 수 있는 패킷을 전송,한 번만의 수에 관계없이 받는 사람입니다., 예를 들어 비디오 스트리밍과 같은 서비스의 경우 발신자의 관점에서 효율성을 엄청난 양으로 증가시킵니다.

광고

-g(그룹)옵션을netstat목 멀티캐스트 그룹 구성원의 소켓에 각각의 인터페이스입니다.

sudo netstat -g

열이 매우 간단하다:

  • 인터페이스:이름이의 인터페이스는 소켓을 전달.
  • RefCnt:소켓에 연결된 프로세스 수 인 참조 수입니다.,
  • 그룹:멀티캐스트 그룹의 이름 또는 식별자입니다.

의 블록에 새로운 아이

경로,ip,ifconfig 및 ss 명령을 제공할 수 있는 많은 무엇netstat보여줄 수 있다. 그것들은 모두 훌륭한 명령이며 체크 아웃 할 가치가 있습니다.

우리에 초점을 맞추netstat기 때문에 그것은 보편적으로 사용할 수 있에 관계없이,어떤 유닉스는 운영 체제 당신이 작업에도 애매한 것들입니다.,

데이브 맥케이
데이브 맥케이 첫 번째 사용되는 컴퓨터 구멍을 뚫은 종이 테이프로 유행이었다,그리고 그는 프로그래밍습니다. IT 업계에서 30 년이 넘은 후 그는 현재 전임 기술 기자입니다. 자신의 경력을하는 동안,그는 프리랜서로 일했 프로그래머,관리자의 국제적 소프트웨어 개발 팀,그것은 서비스 프로젝트 관리자를 가장 최근에,데이터 보호 책임자입니다. 데이브는 리눅스 전도자이자 오픈 소스 옹호자이다.전체 바이오 읽기”

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

도구 모음으로 건너뛰기