netstat 팁과 요령


13

"유용한 명령 줄"질문 ( Windows , LinuxMac의 경우 ) 과 같은 맥락에서 " 유틸리티 x를 사용하는 유용한 방법"질문이 있으면 편리 할 것입니다. 매뉴얼 페이지는 매개 변수의 기능을 설명하지만 반드시 매개 변수를 사용하는 이유, 결과의 의미, 광범위한 실험 없이는 절대 알 수없는 유용한 명령 또는 실제로 원하는 답을 얻는 방법을 알려줍니다.

netstat 에 대해 알고 싶습니다 . 대역폭을 사용하는 프로세스와 실제로 시스템이 대역폭을 사용하는 속도를 파악할 수 있어야합니다. 또한 원치 않는 연결 (virii와 같은)을 탐지하는 데 유용하며 모든 종류의 라우팅 정보를 제공합니다 (Sharp Zaurus PDA가 TCP / IP over USB를 사용하도록 할 때만 사용해야 함). 나는 금광처럼 들리는데, 나는 당신 중 일부가 당신이 찾은 정보의 덩어리를 공유하기를 바랐습니다.

답장에 netstat 버전과 OS를 포함 시키십시오. 샘플 출력을보고 그 의미를 아는 것이 좋습니다. 나는이 질문을 커뮤니티 위키로 표시했으며 다른 OS를 알고있는 다른 사람들이 알고 있다면 같은 대답으로 거의 동등한 명령을 내려 놓을 수 있도록 답변에서 똑같이 할 수 있기를 바랍니다. 어떤 답변이 가장 유용한 지 투표 할 수 있습니다.

답변:


4

로컬 청취 TCP / UDP 포트 및 해당 프로세스를 표시합니다.

sudo netstat -tulpn

4
거의 동등한 Mac은 "sudo lsof -i -n -P | grep LISTEN"인 것 같습니다. -n 및 -P 플래그를 생략하면 호스트 및 포트 이름을 찾게됩니다.
클린턴 블랙 모어

1
클린턴-그것은 하나의 환상적인 명령입니다.
SpacemanSpiff

3

Netstat 라우팅 테이블

[이것은 Mac OS X 10.5.7에서 테스트되었습니다. 솔라리스에서 작동하는 것으로 나타난 결과는 모든 플랫폼에서 거의 동일하다고 생각합니다.]

netstat -r 

라우팅 테이블을 제공합니다.

netstat -nr

동일하지만 컴퓨터 이름을 찾는 대신 원시 IP를 제공합니다. 출력은 다음과 같습니다 (더 이상).

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.40.250     UGSc       19        1    en1
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH          1     3140    lo0
169.254            link#5             UCS         0        0    en1
169.254.33.92      127.0.0.1          UHS         0        0    lo0
192.168.40         link#5             UCS        11        0    en1
192.168.40.1       0:17:f2:ca:a0:94   UHLW        0        0    en1   1150
...

Internet6:
Destination                             Gateway                         Flags      Netif Expire
::1                                     link#1                          UHL         lo0
fe80::%lo0/64                           fe80::1%lo0                     Uc          lo0
fe80::1%lo0                             link#1                          UHL         lo0
fe80::%en0/64                           link#4                          UC          en0
...
ff02::/32                               link#7                          UC          en2
ff02::/32                               link#8                          UC          en3

열 :

대상 및 게이트웨이 : 대상은 정보를 보내려는 주소 (또는 주소 범위)입니다. 해당 대상으로 전송 된 모든 데이터는 관련 게이트웨이로 이동합니다. 게이트웨이는 여행 중 다음 '홉'을 위해 데이터를 어디로 보낼지 알고 있습니다. 라우팅 테이블에 항목이없는 대상으로 데이터를 보내려면 기본 게이트웨이를 통과합니다.

플래그 : man / info 페이지는 모든 플래그를 나열합니다. 기본 게이트웨이 설정은 다음과 같습니다.

UGSc
U       - RTF_UP           Route usable
 G      - RTF_GATEWAY      Destination requires forwarding by intermediary
  S     - RTF_STATIC       Manually added
   c    - RTF_PRCLONING    Protocol-specified generate new routes on use

DHCP를 통해 수동으로 추가되었다고 주장합니다.

Refs : "refcnt 필드는 현재 경로의 활성 사용 횟수를 제공합니다. 연결 지향 프로토콜은 일반적으로 연결 기간 동안 단일 경로를 유지하지만 연결없는 프로토콜은 동일한 대상으로 전송하는 동안 경로를 얻습니다." (맨 페이지)

사용 : "사용 필드는 해당 경로를 사용하여 전송 된 패킷 수를 제공합니다."

Netif : "인터페이스 항목은 경로에 사용 된 네트워크 인터페이스를 나타냅니다."

내 Mac에서는

  • lo0은 루프백 인터페이스입니다.
  • en0은 이더넷입니다.
  • en1은 무선입니다.
  • en2 및 en3은 가상 시스템에서 사용됩니다.

만료 : 다른 버전의 netstat에 대한 맨 페이지에서 : "경로가 만료되기 전에 남은 시간 (분)을 표시합니다."



2

창에서 :

c:>netstat -a | find /c "TCP"
68

TCP / IP 연결 수를 나타냅니다. TCP 포트가 부족하고 MaxUserPorts 를 늘려야하는 높은 네트워크 시스템의 문제를 해결하려는 경우 유용합니다 .


OS X 10.5.7 equiv : netstat -a | grep -c tcp
클린턴 블랙 모어

2

전송 / 수신 비율

Mac에서 [OS X 10.5.7] :

netstat -i -w 10

[ Solaris 및 Linux에서의 사용에 대한 정보는 척의 답변 을 참조하십시오 .]

결과는 다음과 같습니다.

            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
       794     0    1166796        763     0      50358     0
       789     0    1167773        765     0      52542     0
       792     0    1166548        765     0      51174     0
       796     0    1167262        598     0      40152     0
       929     0    1278561        846     0      65625     0
       563     0     815570        530     0      36828     0
        32     0       4360          1     0        774     0
         9     0        705          0     0        684     0
         9     0        631          0     0          0     0

주어진 시간 간격 동안 전송 된 패킷 및 바이트 수를 보여줍니다. (이 예에서는 10 초). 브라우저 탭을 닫고 속도가 바닥에 올 때까지 유튜브에 연결되어 간격마다 1MB 이상을 다운로드했습니다.

업로드 또는 다운로드가 완료되기를 기다리는 경우 유용 할 수 있습니다. 속도를 모니터링하고 급격히 떨어지면 완료되었음을 알 수 있습니다.

위의 명령은 모든 인터페이스의 모든 처리량을 보여줍니다. 특정 인터페이스 (이 예제에서는 WiFi)로 범위를 지정하려면 다음 -I과 같이 플래그를 사용하십시오 .

netstat -I en1 -w 10

1

윈도우 :

Netstat -n
(Show active TCP connections, don't slow down trying to do name resolution)

Proto  Local Address          Foreign Address        State
TCP    192.168.1.38:4853    69.59.196.212:80       ESTABLISHED

활성 TCP 연결을 표시하지만 UDP 활동은 표시하지 않습니다.

Netstat -an
  (Show all connections, don't slow down trying to do name resolution)

Proto  Local Address          Foreign Address        State
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
TCP    192.168.1.38:4853    69.59.196.212:80       ESTABLISHED

수신 TCP 및 UDP 연결뿐만 아니라 모든 활성 TCP 연결을 표시합니다. 여기서 아웃 바운드 UDP 활동을 표시하지 않습니다.


지금은 설명을 추가하지만 담당자가 충분하면 답변을 수정하겠습니다. Mac OS X 10.5.7에 상응하는 netstat-tcp 프로토콜에 추가되도록 -p tcp를 추가하십시오. 즉. netstat -p tcp -n또는netstat -p tcp -an
Clinton Blackmore

Windows에서 유용한 또 다른 스위치는 -o (각 소켓의 소유 PID 표시) 및 -b (각 소켓의 소유 프로세스 이름 표시)입니다. 손상된 것으로 의심되는 기계를 조사 할 때 특히 편리합니다.
Murali Suriar

netstat -nt도 같은 기능을 수행합니다 (숫자 및 TCP 만 해당)
Jauder Ho


1

Windows 7 (아마도 이전부터) :

netstat -ano

연관된 PID가있는 활성 세션을 나열합니다.

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       776
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:554            0.0.0.0:0              LISTENING       1724

또는 단계를 저장하기 위해

netstat -anb

(높은 CMD 프롬프트에서) 프로세스 이름을 제공합니다.

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  RpcSs
 [svchost.exe]
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:554            0.0.0.0:0              LISTENING
 [wmpnetwk.exe]
  TCP    0.0.0.0:2048           0.0.0.0:0              LISTENING

1

나는 바퀴를 재발 명 할 것이라고 확신하지만 netstat를 실행하고 현재 대부분 연결된 IP가 맨 위에 나오도록 출력을 정렬 하는 간단한 Perl 스크립트 가 있습니다. 2 초 간격으로 업데이트하기 위해 'watch'프로그램과 함께 사용하는 것이 가장 좋습니다.

업데이트 : 많은 문제를 제거하고 호스트 이름을 표시하기 위해 2013-02-11의 중요한 재 작성

샘플 출력 :

Distant inbound connections: 2
   85.93.216.17:772               <-- 78.141.139.10       :    1        ip-78-141-139-10.dyn.luxdsl.pt.lu     1 x ESTABLISHED
   80.90.47.155:443               <-- 78.141.139.10       :    1        ip-78-141-139-10.dyn.luxdsl.pt.lu     1 x ESTABLISHED
Distant outbound connections: 3
   80.90.63.61                    --> 80.90.63.48:25      :    2        smtp.m-plify.net                      2 x TIME_WAIT
   85.93.216.17                   --> 85.93.216.18:772    :    1        maya.m-plify.net                      1 x ESTABLISHED
Looping connections: 57 (10 duplicates)
   127.0.0.1                      --> 127.0.0.1:9355      :   20                                              1 x ESTABLISHED, 8 x TIME_WAIT, 11 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:4713      :   10                                             10 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:9353      :    9                                              4 x TIME_WAIT, 5 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:3306      :    8                                              6 x ESTABLISHED, 1 x TIME_WAIT, 1 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:5445      :    5                                              1 x ESTABLISHED, 4 x TIME_WAIT
   127.0.0.1                      --> 127.0.0.1:9354      :    2                                              2 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:7998      :    1                                              1 x TIME_WAIT
   127.0.0.1                      --> 127.0.0.1:3351      :    1                                              1 x ESTABLISHED
   127.0.0.1                      --> 127.0.0.1:32000     :    1                                              1 x ESTABLISHED


0

Wicked Cool Shell Scripts 책에서 :

스크립트 # 90.1 : 'n'분마다 netstats 값을 가져옵니다 (crontab을 통해)

스크립트 # 90.2 : netstat 실행 성능 로그를 분석하여 중요한 결과 및 추세를 식별합니다.

(이 책을 좋아하십시오-구매 가치가 있습니다!)


0

Solaris에서는 많은 사람들이 "netstat -i 1"을 수행하여 실행중인 패킷 수를 얻습니다. Linux netstat에는 델타가 아닌 원시 수를 표시하므로이 기능의 쓸모없는 버전이 있습니다. 비슷한 결과를 얻으려면 "sar -n DEV 1 0"을 수행하십시오. 실제로 "LANG = C sar -n DEV 1 0 | grep interfacename"을 고려하십시오 (sar는 특정 로케일에서 행의 시작 부분에 AM과 PM으로 시간을 두므로 항상 "LANG = C sar ").


샘플 출력 및 Mac 사용법은 serverfault.com/questions/11289/netstat-tips-and-tricks/…를 참조하십시오 .
클린턴 블랙 모어

0

Solaris에서는

netstat -k

다양한 통계 요약을 표시합니다. 오류 등을 확인하는 데 유용합니다.


0

아무도 아직 언급하지 않았기 때문에 :

netstat -s 

리눅스에서 프로토콜별로 유용한 통계를 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.