it-swarm-ko.tech

netstat 팁과 요령

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

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

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

13
Clinton Blackmore

로컬 청취 TCP/UDP 포트 및 포트가 속한 프로세스를 표시하십시오.

Sudo netstat -tulpn
4
cmcginty

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

열 :

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

Flags : 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은 가상 시스템에서 사용됩니다.

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

3
Clinton Blackmore

창에서 :

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

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

2

Bash에서 netstat를 사용하는 유용한 방법은 CommandLineFu의 Netstat 페이지 를 확인하십시오.

2
andyhky

전송/수신 속도

Mac에서 [OS X 10.5.7] :

netstat -i -w 10

[Solaris 및 Linux에서의 사용에 대한 정보는 chuck 's answer 를 참조하십시오.]

결과는 다음과 같습니다.

            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
2
Clinton Blackmore

윈도우 :

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 connections이지만 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 연결 및 청취 TCP 및 UDP 연결)을 표시합니다. 여기서 아웃 바운드 UDP 활동을 표시하지 않습니다.

1
Mike

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
TristanK

나는 바퀴를 재발 명 할 것이라고 확신하지만 여기서는 간단한 Perl 스크립트가 있습니다 netstat를 실행하고 현재 대부분 연결된 IP가 맨 위에 나오도록 출력을 정렬합니다. 이것은 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
1
David Tonhofer

윈도우

netstat -b

연결을 사용하여 프로세스 표시

1
user640

솔라리스 :

netstat -nr
(displays routing table)
0
Milner

Wicked Cool Shell Scripts 책에서 :

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

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

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

0
gharper

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

netstat -s 

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

0
dmourati

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"을 항상 실행하는 습관을들이는 경우가 있습니다.

0
carlito

Solaris에서는

netstat -k

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

0
Jauder Ho