달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

netstat 명령
목적
네트워크 상태를 보여 줍니다.

구문
각 프로토콜이나 라우팅 표 정보에 대한 활동 중인 소켓을 표시하는 경우
/bin/netstat [ -n ] [ { -A -a } | { -r -i -I Interface } ] [ -f AddressFamily ] [ -p Protocol ] [ Interval ] [ System ]

네트워크 데이타 구조의 내용을 표시하는 경우
/bin/netstat [ -m | -s | -ss | -u | -v ] [ -f AddressFamily ] [ -p Protocol ] [ Interval ] [ System ]

통신 서브시스템을 통해 패킷 계수를 표시하는 경우
/bin/netstat -D

네트워크 버퍼 캐시 통계를 표시할 경우
/bin/netstat -c

데이타 링크 제공자 인터페이스 통계를 표시할 경우
/bin/netstat -P

관련된 통계를 지우려면
/bin/netstat [ -Zc | -Zi | -Zm | -Zs ]

설명
netstat 명령은 활성화된 연결에 대한 여러 네트워크 관련 데이타 구조의 내용을 상징적으로 표시합니다. Interval 매개변수는 초로 지정되며, 구성설정된 네트워크 인터페이스에서의 패킷량에 관한 정보를 계속 표시합니다. Interval 매개변수는 플래그를 사용하지 않습니다. System 매개변수에는 현재 커널에서 사용하는 메모리를 지정합니다. 덤프 파일의 경우를 제외하고, System 매개변수는 /unix입니다.

플래그
-A 소켓과 연관된 모든 프로토콜 제어 블록의 주소를 보여 줍니다. 이 플래그는 디폴트 표시장치로 이용되며 디버깅 목적에 사용됩니다.
-a 모든 소켓의 상태를 표시합니다. 이 플래그가 없으면, 서버 프로세스에 의해 사용된 소켓은 표시되지 않습니다.
-c 네트워크 버퍼 캐시의 통계를 표시합니다.
네트워크 버퍼 캐시는 네트워크로 전송될 수 있는 데이타 오브젝트를 포함하는 네트워크 버퍼의 리스트입니다. 네트워크 버퍼 캐시는 데이타 오브젝트가 추가 또는 제거되면서 동적으로 커집니다. 네트워크 버퍼 캐시는 네트워크 I/O의 성능 향상을 위해 일부 네트워크 커널 인터페이스에서 사용됩니다. netstat -c 명령은 다음의 통계를 인쇄합니다.

Network Buffer Cache Statistics:
Current total cache buffer size: 0
Maximum total cache buffer size: 0
Current total cache data size: 0
Maximum total cache data size: 0
Current number of cache: 0
Maximum number of cache: 0
Number of cache with data: 0
Number of searches in cache: 0
Number of cache hit: 0
Number of cache miss: 0
Number of cache newly added: 0
Number of cache updated: 0
Number of cache removed: 0
Number of successful cache accesses: 0
Number of unsuccessful cache accesses: 0
Number of cache validation: 0
Current total cache data size in private segments: 0
Maximum total cache data size in private segments: 0
Current total number of private segments: 0
Maximum total number of private segments: 0
Current number of free private segments: 0
Current total NBC_NAMED_FILE entries: 0
Maximum total NBC_NAMED_FILE entries: 0
주: -c 플래그는 AIX 버전 4.3.2 이상에서만 유효합니다.
-D 통신 서브시스템에서 수신, 전송, 단절된 패킷의 수를 표시합니다.
주: 통계 출력에서, 필드 값에서의 N/A는 계수가 해당되지 않는 경우를 의미합니다. NFS/RPC 통계의 경우, RPC를 패스한 수신 패킷의 수는 NFS를 패스한 패킷과 같기 때문에 이 수는 NFS/RPC Total 필드에서 계산되지 않습니다. 그러므로 N/A에 해당합니다. NFS에는 NFS 및 RPC에 고유한 송신 패킷이나 패킷 송신 단절 지수가 없습니다. 따라서, 개별 계수에는 필드 값 N/A가 표시되며, 누적 계수는 NFS/RPC Total 필드에 저장됩니다.
-f AddressFamily 통계 보고서나 주소 제어 블록을 AddressFamily 변수에 의해 지정된 항목에 제한합니다. 다음의 주소 패밀리가 인식됩니다. inet AF_INET 주소 패밀리를 나타냅니다.
inet6 AF_INET6 주소 패밀리를 나타냅니다.
ns AF_NS 주소 패밀리를 나타냅니다.
unix AF_UNIX 주소 패밀리를 나타냅니다.

-i 구성설정된 모든 인터페이스의 상태를 표시합니다.
주: 이더넷 인터페이스의 충돌 계수는 지원되지 않습니다.
-I Interface Interface 변수에 의해 지정된 구성설정된 인터페이스의 상태를 표시합니다.
-m 메모리 관리 루틴에 의해 기록된 통계를 표시합니다.
-n 네트워크 주소를 숫자로 표시합니다. 이 플래그를 지정하지 않으면, netstat 명령은 주소를 해석하여 가능한 곳에 기호로 표시합니다. 어떠한 포맷으로도 이 플래그를 사용할 수 있습니다.
-p Protocol Protocol 변수에 대해 지정된 값, 즉 프로토콜에 대한 잘 알려진 이름이나 별명의 통계를 표시합니다. 일부 프로토콜 이름과 별명은 /etc/protocols 파일에 나열되어 있습니다. 널(null) 응답은 보고할 숫자가 없음을 의미합니다. 통계 루틴이 없는 경우 Protocol 변수에 대해 지정된 값의 프로그램 보고는 제공되지 않습니다.
-P 데이타 링크 제공자 인터페이스(DLPI)의 통계를 표시합니다. netstat -P 명령은 다음과 같은 통계를 인쇄합니다.
DLPI statistics:
Number of received packets = 0
Number of transmitted packets = 0
Number of received bytes = 0
Number of transmitted bytes = 0
Number of incoming pkts discard = 0
Number of outgoing pkts discard = 0
Number of times no buffers = 0
Number of successful binds = 0
Number of unknown message types = 0
Status of phys level promisc = 0
Status of sap level promisc = 0
Status of multi level promisc = 0
Number of enab_multi addresses = 0
DLPI이 로드되지 않았을 경우, 다음과 같이 표시됩니다.

can't find symbol: dl_stats
주: -P 플래그는 AIX 버전 4.3.2 이상에서만 유효합니다.
-r 라우팅 표를 표시합니다. -s 플래그와 함께 사용된 경우, -r 플래그는 라우팅 통계를 표시합니다.
-s 각 프로토콜에 대한 통계를 표시합니다.
-ss 모든 0이 아닌 프로토콜 통계를 표시하고 세밀한 화면을 제공합니다.
-u 도메인 소켓에 대한 정보를 표시합니다.
-v CDLI 기준 통신 어댑터의 통계를 표시합니다. 이 플래그는 netstat 명령이 entstat, tokstat 및 fddistat 명령에 대해 통계 명령을 수행하도록 합니다. 이러한 장치 드라이버 명령을 위해서는 플래그를 수행하지 않습니다. 통계 출력에 대한 설명은 특정 장치 드라이버 통계 명령을 참조하십시오.
-Zc 네트워크 버퍼 캐시 통계를 지웁니다.
-Zi 인터페이스 통계를 지웁니다.
-Zm 네트워크 메모리 할당자 통계를 지웁니다.
-Zs 프로토콜 통계를 지웁니다. 특정 프로토콜의 통계를 지우려면, -p 를 사용하십시오. 예를 들어, TCP 통계를 지우려면, netstat -Zs -p tcp를 입력하십시오.

디폴트 표시장치
활동 중인 소켓에 대한 디폴트 표시 장치는 다음 항목을 표시합니다.

국지 및 원격 주소
수신 및 송신 대기행렬의 크기(바이트)
프로토콜
프로토콜의 내부 상태
소켓 주소가 고유의 호스트 주소 없이 네트워크를 지정한 경우, 인터넷 주소의 형식은 host.port나 network.port입니다. 네트워크 주소가 /etc/networks 파일에 따라서 기호로 표시되는 반면, 그 주소가 기호 호스트 이름으로 해석될 수 있는 경우, 호스트 주소는 기호로 표시됩니다.

NS 주소는 12바이트 길이 즉, 4바이트의 네트워크 번호, 6바이트의 호스트 번호 및 2바이트의 포트 번호로 이루어져, 모두 네트워크 표준 형식으로 저장됩니다. VAX 시스템의 경우, 이것은 역구성된 단어 및 바이트입니다. Sun 시스템의 경우에는 역구성되지 않습니다.

호스트에 대한 기호 이름을 모르거나 -n 플래그가 사용된 경우, 주소는 주소 패밀리에 따라서 숫자로 인쇄됩니다. 지정되지 않은 주소와 포트는 *(별표)로 나타납니다.

인터페이스 표시(netstat -i)
인터페이스 표시 형식은 다음의 항목에 대하여 누적 통계표를 제공합니다.

Errors
Collisions
주: 이더넷 인터페이스에 대한 충돌 계수는 지원되지 않습니다.
Packets transferred
인터페이스 표시장치는 최대 전송 단위(MTU) 외에도 인터페이스 이름, 번호 및 주소를 제공합니다.

Routing Table Display (netstat -r)
라우팅 표 표시장치 형식은 사용가능한 라우트 및 그 상태를 표시합니다. 각 라우트는 목적지 호스트나 네트워크 및 패킷을 전송하는데 사용되는 게이트웨이로 이루어집니다.

라우팅 표는 다음 10개의 필드를 포함하고 있습니다.

Flags 라우팅 표의 flags 필드는 다음과 같은 라우트 상태를 표시합니다. U Up.
H 네트워크가 아닌 호스트로의 라우트입니다.
G 게이트웨이로의 라우트입니다.
D 라우트는 재지정에 의해 동적으로 작성됩니다.
M 라우트가 재지정에 의해 수정되었습니다.
L 링크 레벨 주소는 라우트 항목에 존재합니다.
c 이 라우트에 액세스하면 복제된 라우트가 작성됩니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
W 이 라우트는 복제된 라우트입니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
1 고유한 프로토콜의 라우팅 플래그 #1.
2 고유한 프로토콜의 라우팅 플래그 #2.
3 고유한 프로토콜의 라우팅 플래그 #3.
b 라우트는 브로드캐스트 주소를 나타냅니다.
e 바인딩 캐시 항목이 있습니다.
l 라우트는 국지 주소를 나타냅니다.
m 라우트는 멀티캐스트 주소를 나타냅니다.
P 고정된 라우트.
R 범위 밖의 호스트 또는 네트워크.
S 수동으로 추가되었습니다.
u 사용가능한 라우트.

국지 호스트에 접속된 각 인터페이스에 대해 직접 라우트가 작성됩니다.

Gateway 이 항목에 대한 gateway 필드는 전송 인터페이스의 주소를 표시합니다.
Refs 라우트에 대해 현재 활동하고 있는 사용의 번호를 제공합니다. 연결 중심 프로토콜은 연결이 지속되는 동안 하나의 라우트를 고수합니다. 반면에 연결되지 않은 프로토콜은 동일한 목적지에 송신하는 동안 라우트를 확보합니다.
Use 해당 라우트를 사용하여 송신된 패킷 계수를 제공합니다.
PMTU PMTU(5로 최대 전송 단위)를 제공합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Interface 라우트에 활용된 네트워크 인터페이스를 나타냅니다.
Exp 라우트가 만료되기 전에 남은 시간(분)을 표시합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Groups 해당 라우트와 연관된 그룹 ID의 리스트를 제공합니다. 이 필드는 AIX 버전 4.2.1 이상 버전에만 적용됩니다.
Netmasks 시스템에 적용된 네트마스크를 나열합니다.
Route Tree for
Protocol Family 기존 라우트에 활동 중인 주소 패밀리를 지정합니다. 이 필드에 지원되는 값은 다음과 같습니다. 1 UNIX 주소 패밀리를 지정합니다.
2 인터넷 주소 그룹을 지정합니다(예를 들어, TCP 및 UDP).
6 Xerox 네트워크 시스템(XNS) 주소 패밀리를 지정합니다.

기타 주소 패밀리에 대한 자세한 정보는 /usr/include/sys/socket.h 파일을 참조하십시오.


Interval 매개변수에 값이 지정된 경우, netstat 명령은 네트워크 인터페이스와 관련하여 수행 중인 통계 계수를 표시합니다. 이 화면에는 1차 인터페이스에 대한 열(자동 구성설정 중에 발견된 첫번째 인터페이스) 및 모든 인터페이스에 대한 정보를 요약하는 열의 두 열이 있습니다.

-I 플래그를 사용하여 1차 인터페이스는 다른 인터페이스로 대체될 수도 있습니다. 각 정보 화면의 첫번째 행은 시스템이 마지막으로 재시동된 이후로 축척된 통계의 요약을 포함하고 있습니다. 출력의 후속 행은 간격별로 누적된 값을 표시합니다.

Inet 예제
인터넷 인터페이스에 대한 라우팅 표 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -r -f inet
이로써 다음과 같은 출력이 작성됩니다.

Routing tables
Destination Gateway Flags Refs Use PMTU If Exp Groups
Netmasks:
(rootnode)
(0)0 ffff f000 0
(0)0 ffff f000 0
(0)0 8123 262f 0 0 0 0 0
(rootnode)

Route Tree for Protocol Family 2:
(rootnode)
default 129.35.38.47 UG 0 564 - tr0 -
loopback 127.0.0.1 UH 1 202 - lo0 -
129.35.32 129.35.41.172 U 4 30 - tr0 - +staff
129.35.32.117 129.35.41.172 UGHW 0 13 1492 tr0 30
192.100.61 192.100.61.11 U 1 195 - en0 -
(rootnode)

Route Tree for Protocol Family 6:
(rootnode)
(rootnode)
-i -f inet 플래그는 구성설정된 모든 인터넷 인터페이스의 라우팅 표 정보 대한 요청을 나타냅니다. 네트워크 인터페이스는 Interface 열에 나열됩니다. en는 표준 이더넷 인터페이스를 의미하고 반면에 tr은 토큰링 인터페이스를 의미합니다. 게이트웨이 주소는 점분리 십진수 형식입니다.

인터넷 인터페이스에 대한 인터페이스 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -i -f inet
AIX 4.2를 사용할 경우, 다음과 같은 출력이 작성됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 1536 4 0 4 0 0
lo0 1536 127 loopback 4 0 4 0 0
en0 1500 96 0 67 0 0
en0 1500 192.100.61 nullarbor 96 0 67 0 0
tr0 1500 44802 0 11134 0 0
tr0 1500 129.35.32 stnullarb 44802 0 11134 0 0
This produces the following output if you are using AIX 4.3:

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 16896 Link#1 5161 0 5193 0 0
lo0 16896 127 localhost 5161 0 5193 0 0
lo0 16896 ::1 5161 0 5193 0 0
en1 1500 Link#2 8.0.38.22.8.34 221240 0 100284 0 0
en1 1500 129.183.64 infoserv.frec.bul 221240 0 100284 0 0
-i-finet 플래그는 구성설정된 모든 인터넷 인터페이스의 상태에 대한 요청을 의미합니다. 네트워크 인터페이스는 Name 열에 나열됩니다. lo는 루프백 인터페이스를 의미하고, en는 표준 이더넷 인터페이스를 의미하며 반면에, tr은 토큰링 인터페이스를 의미합니다.

각 프로토콜에 대한 통계를 표시하려면, 다음과 같이 입력하십시오.
netstat -s -f inet
이로써 다음과 같은 출력이 작성됩니다.

ip:
:
44485 total packets received
0 bad header checksums
0 with size smaller than minimum
0 with data size < data length
0 with header length < data size
0 with data length < header length
0 with bad options
0 with incorrect version number
0 fragments received
0 fragments dropped (dup or out of space)
0 fragments dropped after timeout
0 packets reassembled ok
44485 packets for this host
0 packets for unknown/unsupported protocol
0 packets forwarded
0 packets not forwardable
0 redirects sent
1506 packets sent from this host
0 packets sent with fabricated ip header
0 output packets dropped due to no bufs, etc.
0 output packets discarded due to no route
0 output datagrams fragmented
0 fragments created
0 datagrams that can't be fragmented
0 IP Multicast packets dropped due to no receiver
0 successful path MTU discovery cycles
0 path MTU rediscovery cycles attempted
0 path MTU discovery no-response estimates
0 path MTU discovery response timeouts
0 path MTU discovery decreases detected
0 path MTU discovery packets sent
0 path MTU discovery memory allocation failures
0 ipintrq overflows

icmp:
0 calls to icmp_error
0 errors not generated 'cuz old message was icmp
Output histogram:
echo reply: 6
0 messages with bad code fields
0 messages < minimum length
0 bad checksums
0 messages with bad length
Input histogram:
echo: 19
6 message responses generated

igmp:defect
0 messages received
0 messages received with too few bytes
0 messages received with bad checksum
0 membership queries received
0 membership queries received with invalid field(s)
0 membership reports received
0 membership reports received with invalid field(s)
0 membership reports received for groups to which we belong
0 membership reports sent

tcp:
1393 packets sent
857 data packets (135315 bytes)
0 data packets (0 bytes) retransmitted
367 URG only packets
0 URG only packets
0 window probe packets
0 window update packets
170 control packets
1580 packets received
790 acks (for 135491 bytes)
60 duplicate acks
0 acks for unsent data
638 packets (2064 bytes) received in-sequence
0 completely duplicate packets (0 bytes)
0 packets with some dup. data (0 bytes duped)
117 out-of-order packets (0 bytes)
0 packets (0 bytes) of data after window
0 window probes
60 window update packets
0 packets received after close
0 discarded for bad checksums
0 discarded for bad header offset fields
0 connection request
58 connection requests
61 connection accepts
118 connections established (including accepts)
121 connections closed (including 0 drops)
0 embryonic connections dropped
845 segments updated rtt (of 847 attempts)
0 resends due to path MTU discovery
0 path MTU discovery terminations due to retransmits
0 retransmit timeouts
0 connections dropped by rexmit timeout
0 persist timeouts
0 keepalive timeouts
0 keepalive probes sent
0 connections dropped by keepalive

udp:
42886 datagrams received
:
0 incomplete headers
0 bad data length fields
0 bad checksums
0 dropped due to no socket
42860 broadcast/multicast datagrams dropped due to no

socket
0 socket buffer overflows
26 delivered
106 datagrams output
ip는 인터넷 프로토콜을 지정하고, icmp는 정보 제어 메세지 프로토콜을 지정하고, tcp는 전송 제어 프로토콜을 지정하고, udp는 사용자 데이타그램 프로토콜을 지정합니다.

장치 드라이버 통계를 표시하려면, 다음과 같이 입력하십시오.
netstat -v
netstat -v 명령은 업 상태의 각 CDLI 기본 장치 드라이버에 대한 통계를 표시합니다. 이 명령에 대한 샘플 출력을 열람하려면, tokstat 명령, entstat 명령 또는 fddistat 명령을 참조하십시오.

멀티캐스트를 작동가능하게 하는 인터페이스에 관한 정보를 표시하고 그룹 멤버쉽을 열람하려면, 다음과 같이 입력하십시오.
netstat -a -I interface
예를 들어, 802.3 인터페이스가 지정된 경우, 다음의 출력이 산출됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
et0 1492 0 0 2 0 0
et0 1492 9.4.37 hun-eth 0 0 2 0 0
224.0.0.1
02:60:8c:0a:02:e7
01:00:5e:00:00:01
-I interface 대신에 플래그 -i가 지정될 경우, 구성설정된 모든 인터페이스가 나열됩니다. 네트워크 인터페이스가 이름 열에 나열되고, lo는 루프백 인터페이스를 의미하고, et는 IEEE 802.3 인터페이스를 의미하고, tr는 토큰링 인터페이스를 의미하고, fi는 FDDI 인터페이스를 지정합니다.

주소 열은 다음과 같은 의미를 갖습니다. 각 인터페이스의 기호 이름이 표시됩니다. 이 기호 이름 아래에, 그 인터페이스에서 결합된 멀티캐스트 그룹의 그룹 주소가 표시됩니다. 그룹 주소 224.0.0.1은 모든 멀티캐스트 인터페이스가 속해 있는 특수 all-hosts-group입니다. 인터페이스의 MAC 주소(콜론 표기법)는 특정 인터페이스에 대해 IP 멀티캐스트를 대신하여 사용 가능해진 다른 MAC 레벨 주소의 리스트를 포함하여 그룹 주소 다음에 옵니다.

통신 서브시스템의 패킷 계수를 표시하려면, 다음과 같이 입력하십시오.
netstat -D
다음의 출력이 산출됩니다.

Source Ipkts Opkts Idrops Odrops
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dev0 720 542 0 0
ent_dev0 114 4 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Devices Total 834 546 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dd0 720 542 0 0
ent_dd0 114 4 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Drivers Total 834 546 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tok_dmx0 720 N/A 0 N/A
ent_dmx0 114 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - -
Demuxer Total 834 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IP 773 767 0 0
TCP 536 399 0 0
UDP 229 93 0 0
- - - - - - - - - - - - - - - - - - - - - - - - -
Protocols Total 1538 1259 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
lo_if0 69 69 0 0
en_if0 22 8 0 0
tr_if0 704 543 0 1
- - - - - - - - - - - - - - - - - - - - - - - - -
Net IF Total 795 620 0 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NFS/RPC Client 519 N/A 0 N/A
NFS/RPC Server 0 N/A 0 N/A
NFS Client 519 N/A 0 N/A
NFS Server 0 N/A 0 N/A
- - - - - - - - - - - - - - - - - - - - - - - - -
NFS/RPC Total N/A 519 0 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Note: N/A -> Not Applicable)
XNS(Xerox 네트워크 시스템)의 예제
XNS 인터페이스에 대한 네트워크 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -i -f ns
이로써 다음과 같은 출력이 작성됩니다.

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en1 1500 ns:6EH 2608C2EA9F7H 281 0 3055 0 0
et1 1492 ns:78H 2608C2EA9F7H 44 0 3043 0 0
nsip0 1536 ns:1H 2608C2EA9F7H 0 0 0 0 0
-i -f ns플래그는 구성설정된 모든 XNS 인터페이스의 상태에 대한 요청을 나타냅니다. 네트워크 인터페이스는 Name열에 나열되고, en은 표준 이더넷 인터페이스를 의미하고, et는 IEEE 802.3 이더넷 인터페이스를 의미합니다. Network 열에 있는 ns:는 XNS 그룹 주소를 의미합니다. 모든 네트워크 및 주소 번호는 번호의 끝에 문자 H가 추가된 16진수입니다.

nsip0는 인터넷 캡슐화 XNS 패킷입니다. 캡슐화에 사용되는 인터넷 목적지 주소는 ifconfig 명령에 있는 ipdst필드에 지정됩니다.

XNS 인터페이스에 대한 라우팅 표 정보를 표시하려면, 다음과 같이 입력하십시오.
netstat -r -f ns
이로써 다음과 같은 출력이 작성됩니다.

Routing tables
Destination Gateway Flags Refcnt Use Interface
Route Tree for Protocol Family 6:
(rootnode)
1H.2608C2EA394H 1H.2608C2EA9F7H UH 1 0 nsip0
18H.* 78H.2608C2EA9F7H UG 0 0 et1
6EH.* 6EH.2608C2EA9F7H U 1 0 en1
78H.* 78H.2608C2EA9F7H U 1 0 et1
(rootnode)
-r -f ns 플래그는 구성설정된 모든 XNS 인터페이스의 라우팅 표 정보에 대한 요청을 표시합니다. 네트워크 인터페이스는 Interface 열에 나열되고, en는 표준 이더넷 인터페이스를 의미하며 et는 IEEE 802.3 이더넷 인터페이스를 의미합니다. Interface 열에 있는 nsip0는 XNS를 인터넷 캡슐화 인터페이스로 의미합니다. Destination 및 Gateway 주소 번호는 그 번호 끝에 문자 H가 추가된 16진수입니다. Destination 열에 있는 *(별표)는 네트워크가 지점 대 지점 네트워크가 아님을 나타냅니다.

관련 정보
atmstat 명령, entstat 명령, fddistat 명령, iostat 명령, tokstat 명령, trpt 명령, vmstat 명령.

hosts 파일 형식, networks 파일 형식, protocols 파일 형식, services 파일 형식.

AIX Versions 3.2 and 4 Performance Tuning Guide에 있는 통신 I/O 모니터링 및 조절.

AIX Version 4.3 System Management Guide: Communications and Networks에 있는 게이트웨이, 명명, TCP/IP 주소 지정, TCP/IP 네트워크 인터페이스, TCP/IP 프로토콜 및 TCP/IP 라우팅.

AIX Communications Programming Concepts의에 있는 프로그래밍용 XNS(제록스 네트워크 시스템 개요.


Posted by tornado
|
시스템 명령어인 netstat 를 사용하는 방법

#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)


포트스캔 명령어로 확인 하는 방법

# TCP 포트 확인 방법
nmap -sT -p 1-65535 localhost
# UDP 포트 확인 방법
nmap -sU -p 1-65535 localhost
# 네트워크에 열린 포트 확인
nmap -sX -p 22,53,110 211.239.111.*


lsof 명령어로 확인 방법

# 모든 네트워크 소켓 확인
lsof -I

Posted by tornado
|
2003년 1월 25일 SQL_Overflow 웜(슬래머 웜)에 의해 발생한 '1.25 인터넷 대란' 이후 안철수연구소로 이상 네트워크 패킷(이하 이상 패킷)이 발생해 문의하는 경우가 많아졌다. 모든 이상 패킷이 웜 등의 악성 코드에 의해 발생하지는 않지만 최근 웜 등이 네트워크를 통해 전파되며 네트워크를 통한 공격 기능을 갖게 되면서 악성 코드에 의해서도 많이 발생하고 있다.

악성 코드에 의한 이상 패킷 증가는 크게 자기 복제를 하면서 네트워크 패킷을 대량으로 발생하는 경우와 악성 IRC봇(Malicious IRCBot)으로 대표되는 네트워크 공격 기능을 가진 웜, 트로이목마 때문에 발생하는 경우로 나눌 수 있다. 많은 기업, 학교 등의 전산 관리자는 이상 패킷이 발생하면 이상 패킷이 발생하니 해결해 달라는 문의를 많이 한다.

하지만, 이상 패킷은 악성 코드뿐 아니라 기기 장비, 소프트웨어 충돌 등에서도 발생하며 이상 증세 만으로는 정확한 원인을 파악하기 어려우므로 악성 코드에 의해 이상 패킷이 발생 할 때 관리자가 조치 해야 할 사항을 정리해 보겠다.

1. 이상 네트워크 패킷 유형

현재 발생하는 이상 패킷은 크게 두 가지로 나눌 수 있다.

1) 네트워크 트래픽 증가
2) 비정상적인 패킷 발생


네트워크 트래픽은 일상적인 컴퓨터 사용 중에도 발생 할 수 있지만 어떤 원인으로 크게 증가하여 컴퓨터나 네트워크 장비 등에 무리를 줄 수 있다. 예를 들어 메일로 급속히 전파되는 웜이 사내의 많은 컴퓨터를 감염 시켰을 때 감염된 컴퓨터들이 일제히 메일 발송을 시도한다면 메일 발송 관련 25번 포트의 트래픽이 증가하게 된다. 대량으로 메일을 발송하는 웜, 바이러스로 인해 메일 서버가 다운된 보고는 많이 있다.

이외 평상시에는 잘 사용되지 않지만 특정 포트로 트래픽이 증가하는 경우도 있다. 악성 IRC봇은 IRC 포트(보통 6667번 포트)를 이용해 다른 시스템을 공격하기 위해 대량의 네트워크 트래픽을 발생 시킬 수 있다.

패킷이 외부로 나가기 위해서는 라우터 등의 장비를 거치므로 사내 망의 많은 컴퓨터가 감염되어 동시에 공격을 위해 트래픽을 발생 시킬 경우 네트워크 관련 장비 등이 과부하로 다운 될 수도 있다. 다운되지 않더라도 불필요한 내용을 처리해야 하므로 전반적인 네트워크 속도가 느려 진다.

최근에 문제되고 있는 악성 IRC봇 류는 포트 번호, 데이터 양 등을 공격자가 임의로 정할 수 있다. 예전에는 IRC 포트인 6667번 포트를 사용했지만 최근에는 포트 번호도 임의로 지정되는 경우가 많다.


[그림1] 다수의 시스템이 특정 IP로 공격하는 화면


2. 관리자가 파악해야 할 내용

네트워크 관리자는 비정상적인 네트워크 트래픽 발생시 감지 할 수 있다. 하지만, 보통 이상 패킷의 증가만 파악되고 원인은 모르는 경우가 많다. 이상 패킷 증가가 사용하는 프로그램 문제, 장비 불량 등일 수 있지만 바이러스와 웜 등의 악성 코드가 발생하는 경우도 많다.

보통 이상 패킷이 발생하면 백신 업체에 연락하는 경우가 많지만 발생 현상이나 패킷만 가지고 어떤 웜이나 트로이목마 등에서 발생했는지 알기 힘들다. 또한 기술지원 시에도 이상 패킷 발생 자체로는 큰 도움을 줄 수 없으며 관리자가 다음 내용을 파악 후 안철수연구소에 알려줘야 한다.

1) 이상 패킷 내용 파악 (패킷 캡쳐, 발생 시스템 수, 문제 상황 등)
2) 이상 패킷 발생 시스템 파악
3) 이상 패킷 발생 시스템에서 정보 수집
4) 이상 패킷 발생 시스템에서 샘플 수집


이상 패킷이 발생할 경우 패킷 내용을 캡쳐 해 백신 회사로 보내야 한다. 이때 아래와 같이 IP 어드레스나 포트 번호와 같은 간단한 내용으로는 문제를 파악하기 힘들므로 상세한 내용을 캡쳐 해야 한다.

SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Fa0/0 xx.xx.xxx.xxx Null xx.xxx.xxx.xx 01 0000 0800 1

단, 패킷 만으로는 대부분의 경우 정확한 원인을 파악하지 못하므로 이상 패킷 발생 시스템을 파악할 필요가 있다. IP 어드레스(IP Address)와 맥 어드레스(Mac Address)를 통해 이상 패킷을 발생하는 시스템을 확인 할 수 있다. 단, IP 어드레스나 맥 어드레스는 위조가 가능하며 보통 IP 어드레스가 위조된다. IP 어드레스가 위조되었을 때는 맥 어드레스로 찾아야 한다. 맥 어드레스는 네트워크 장비를 거치며 바뀌므로 네트워크 장비를 종료해 범위를 좁혀가며 문제의 시스템을 찾아야 한다.

이상 패킷을 발생하는 것으로 추정되는 시스템을 찾으면 해당 시스템에서 이상 패킷을 발생하는 원인 프로그램을 찾아 안철수연구소로 분석 의뢰해야 한다. 수상한 파일을 찾기가 어렵다면 패킷 캡쳐 파일과 시스템의 정보를 파악해 주는 안 리포트, 포트 상태를 알려주는 FPort, TCPView 등의 프로그램을 이용해 해당 시스템의 정보를 안철수연구소 바이러스 신고 센터로 보내야 한다.

3. 툴 사용법

이상 패킷을 발생하는 시스템에서 이상 패킷을 발생하는 원인 프로세스를 찾는 건 쉬운 일은 아니지만 다음과 같은 툴을 사용하면 수상한 파일을 찾는 시간을 줄일 수 있다. 최소한 이들 프로그램의 리포트만 내용만 알려줘도 안철수연구소에서 분석 후 수상한 파일을 요청할 수 있다.

문제 파일/프로세스를 찾는데 도움을 주는 툴은 다음과 같다.

1) 안리포트 - 시스템의 전반의 정보 파악
2) FPort - 이상 패킷 발생 포트와 프로그램 파악
3) TCPView - 이상 패킷 발생 포트와 트래픽 양, 발생 프로그램 파악


1) 안리포트(AhnReport)

안철수연구소에서 제공하는 안리포트는 사용자의 시스템 정보를 수집하는 역할을 수행하는 프로그램으로 이를 통해 문제 원인과 신종 악성 코드를 추적하는 목적으로 사용된다. 안철수연구소 고객지원혹은 기업고객지원에서 파일을 다운로드 받을 수 있다.

수집하는 정보는 다음과 같다.

- 시스템 사양 및 운영체제(OS)
- 설치된 제품 및 파일 목록
- 레지스트리 정보 중 제품 관련 정보
- 백신이 설치되어 있는 경우 이벤트 기록
- 윈도우 부팅 과정에서 참조하는 파일(WIN.INI, SYSTEM.INI) 내용
- 윈도우 부팅 과정에서 실행되는 프로그램의 이름
- 현재 실행중인 프로세서(실행중인 프로그램) 목록
- Uninstall 정보 등

사용 방법은 다음과 같다.

1. [Ahnreport Download] 버튼을 클릭해 파일을 임의의 폴더에 저장한다.

2. 저장한 Ahnreport.exe 파일을 실행한다. 이때 가급적 불필요한 프로그램이나 서비스는 종료해 원인이 되는 프로세스를 손쉽게 찾을 수 있도록 한다.

3. 주의 창이 뜨고 확인을 누르면 시스템에서 수집한 정보를 확인 할 수 있다.


[그림2] 안리포트 실행 화면


4. [저장] 혹은 [파일] →[저장]을 선택하면 지원 담당자 정보, 사용자 정보, 상세 사항 등의 내용을 입력하는 창이 뜬다.


[그림3] 추가 정보 입력 창



5. 필요한 사항을 입력하고 확인을 누르면 관련 정보를 ZIP 파일로 저장하는 창이 뜬다. 적절한 이름의 파일로 저장한다.(예: mypc01.zip)

6. 저장된 내용을 패킷 내용, 기타 정보, 수상한 파일과 함께 바이러스 신고 센터로 신고 한다.

바이러스 신고센터는 [안철수연구소 홈페이지] →[고객지원] →[바이러스신고] 혹은 다음 주소에서 할 수 있다.

- 개인 고객 바이러스 신고센터
- 기업 고객 바이러스 신고센터

 

2) FPort

네트워크 상태 정보를 알려주는 NETSTAT.EXE는 해당 시스템의 열려있는 포트 상태만 알 수 있고 어떤 프로그램이 해당 포트를 사용하는지 알 수 없다. Foundstone 사에서 제공하는 공개 프로그램인 FPort는 현재 시스템의 열려있는 포트와 해당 포트를 사용하는 프로그램을 알려준다. FPort는 여기에서 다운로드 받을 수 있으며 이 프로그램은 윈도우 NT 계열(2000/XP)에서만 실행 가능하다. 윈도우 NT 에서는 psapi.dll 파일이 같은 폴더나 윈도우 시스템 폴더에 존재해야 하며 윈도우 2000 이상에서는 기본으로 존재한다.

FPort를 통해서는 포트 번호와 해당 포트를 사용하는 프로세스를 알 수 있다. 즉, 아래 그림에서는 135번 포트는 svchost.exe가 1032 포트는 MSTask.exe가 사용 중임을 알 수 있다. 인터넷 관련 프로그램을 가급적 종료하면 웜이나 트로이목마 등의 악성 코드만 실행되므로 의심스러운 파일을 확인한 후 해당 파일을 찾아 바이러스 신고 센터로 보낸다.


[그림4] FPort 실행 화면


사용자가 어떤 프로그램이 수상한지 알 수 없는 경우에는 결과 내용을 파일로 저장할 필요가 있다. 결과 내용을 파일로 저장할 때는 "fport > 파일명"을 이용한다. 예를 들어 결과 내용을 result.txt로 저장하기 위해서 fport > result.txt를 입력한다. 결과 파일도 신고시 첨부한다.


[그림5] FPort 결과 저장


3) TCPView

FPort는 사용중인 포트와 프로그램만 알려줘 현재 이상 패킷을 발생 시키는 프로그램을 파악하기 어렵다. TCPView는 프로그램 목록뿐 아니라 프로그램의 패킷 양까지 보여줘 현재 패킷을 발생시키는 파일을 찾기 쉽게 도와준다. TCPView는 여기에서 다운로드 받을 수 있다. 현재 이상 패킷이 발생하고 있다면 트래픽 양에 따라 색깔로 표시되므로 트래픽을 많이 발생하는 파일을 모아 보내주면 된다.


[그림6] TCPView 실행 화면


문제 시스템을 확인 할 때 이상 패킷이 발생하지 않을 수 있다. 이상 패킷은 공격자(웜 혹은 트로이목마 제작자)가 원할 때 공격 명령을 내리므로 다음 공격까지 이상 패킷이 기다리거나 실행 중인 파일을 수집해 안철수연구소로 보내주면 된다.


4. 사례

다음은 모 회사에서 발생한 이상 패킷의 원인을 찾는 과정이다. 최종 확인 결과 Win32/Randex.worm의 변형이 발견되었고 이 웜이 이상 패킷을 발생 시킨 것으로 추정되었다. 이때 나타나는 현상은 크게 두 가지이다.

(1) 특정 목적지(destination)로 패킷이 나가는 현상

이상 패킷은 방화벽 로그를 확인한 결과 여러 개의 IP에서 고정된 목적지로 임의의 포트로 나가고 있었다. 발송 IP 자체가 회사 내에 존재하지 않는 임의의 주소이기 때문에 IP 주소로는 더 이상의 분석은 불가능한 상황이다. 캡쳐 된 패킷을 분석한 결과 해당 패킷은 Win-Trojan/MircPack, Win32/Agobot.worm, Win32/Randex.worm 등의 악성 IRC봇(IRCBot)류로 추정되었다.

악성 IRC봇에서 흔히 사용되는 외부에서 6667번, 928번 등의 포트를 이용해 들어온 흔적을 찾아보았으나 전혀 없었다. 따라서, 본 건에 대해서는 재발시 백본 스위치(Backbone Switch)에서 MAC 어드레스(MAC Address)를 찾아서 해당 컴퓨터를 찾아 원인을 좁혀 나가는 것으로 잠정 결론 내렸다.

(2) 445번 포트를 검색하는 컴퓨터

방문시 특정 IP 어드레스의 컴퓨터가 계속해서 445번 포트를 검색하는 것을 IDS에서 감지됨에 따라 확인 요청을 받았다. 다행히 해당 컴퓨터가 파악되어 있는 상태여서 확인이 가능했다. 해당 컴퓨터는 사용자 계정에 대한 비밀번호(password)는 존재하지만, 관리자(Administrator) 계정에 대한 비밀번호는 엔터(없음)였다.

Netstat -an으로 확인해 본 결과 445번 포트로 SYN_SENT된 패킷이 수십개씩 보였다. 최신 버전의 V3로 검사 했지만 감염 파일은 존재하지 않아 신종 웜 등으로 의심되어 안리포트(AhnReport.exe)로 시스템 정보를 얻어 의심스러운 프로세스인 netd32.exe 파일의 존재를 확인했다.

안리포트로 확인된 실행중인 프로세스 정보를 보면 다음과 같았다.

실행중인 프로세스
c:\ahnreport.exe 1844 5, 0, 4, 29
c:\progra~1\ahnlab\v3\monsvcnt.exe 624 5, 0, 0, 160
c:\program files\ahnlab\smart update utility\ahnsd.exe 1080 5, 3, 0, 14
c:\program files\ahnlab\smart update utility\ahnsdsv.exe 464 5, 3, 0, 150
c:\program files\ahnlab\v3\monsysnt.exe 1748 5, 0, 0, 142
c:\program files\msn messenger\msnmsgr.exe 1116 6.0.0602
c:\winnt\explorer.exe 884 5.00.3700.6690
c:\winnt\system32\cmd.exe 752 5.00.2195.6656
c:\winnt\system32\conime.exe 256 5.00.2195.6655
c:\winnt\system32\csrss.exe 168 5.00.2195.6601
c:\winnt\system32\internat.exe 1112 5.00.2920.0000
c:\winnt\system32\lpagent\lpauupdt.exe 540 2.0.1001.565
c:\winnt\system32\lpagent\lpisactv.exe 956 2.0.1.983
c:\winnt\system32\lpagent\lpisagnt.exe 612 2.0.1001.1011
c:\winnt\system32\lpagent\lpv3agnt.exe 900 2.0.1001.343
c:\winnt\system32\lsass.exe 228 5.00.2195.6695
c:\winnt\system32\mstask.exe 680 4.71.2195.6704
c:\winnt\system32\netd32.exe 1092 N/A -> 수상한 프로세스 확인
c:\winnt\system32\regsvc.exe 664 5.00.2195.6701
c:\winnt\system32\services.exe 216 5.00.2195.6700
c:\winnt\system32\smss.exe 144 5.00.2195.6601
c:\winnt\system32\spoolsv.exe 436 5.00.2195.6659
c:\winnt\system32\svchost.exe 484 5.00.2134.1
c:\winnt\system32\svchost.exe 784 5.00.2134.1
c:\winnt\system32\svchost.exe 408 5.00.2134.1
c:\winnt\system32\taskmgr.exe 280 5.00.2195.6620
c:\winnt\system32\wbem\winmgmt.exe 736 1.50.1085.0100
c:\winnt\system32\winlogon.exe 188 5.00.2195.6714
c:\winnt\system32\wuauclt.exe 1144 5.4.3790.14 built by: lab04_n

수상한 netd32.exe 파일을 안철수연구소에서 확인한 결과 Win32/Randex.worm의 변형으로 확인되었다. 이 웜에 대한 진단/치료(삭제) 기능이 추가된 최신 엔진이 나오기 전에 응급 조치로 해당 프로세스를 죽이고 net32.exe 파일을 삭제 후 해당 컴퓨터의 Administrator 계정의 비밀번호를 변경했다.

이상이 패킷 발생부터 문제 컴퓨터 파악, 수상한 파일 수집, 백신 회사에 샘플을 보내는 과정이며 보다 빠른 문제 해결을 위해서는 발생 패킷 캡쳐, 문제 시스템의 안리포트 실행 결과, 수상한 파일, 네트워크 상태 등의 정보를 수집해주면 좋지만 문제의 시스템을 파악해서 안리포트 결과만이라도 안철수연구소로 보내면 수상한 파일에 대한 요청을 안철수연구소에서 할 수 있어 보다 빨리 문제가 해결될 수 있다.

5. 정리

최근 이상 패킷 발생으로 문의하는 네트워크 혹은 보안 관리자가 많다. 이때 단순히 몇 번 포트로 이상 패킷 발생과 같은 내용으로는 원인 파악 및 문제를 해결하기 어려우므로 다음과 같은 정보를 보내야 한다.

1) 상세한 이상 패킷 내용 (패킷 캡쳐, 발생 시스템 수, 문제 상황 등)
2) 이상 패킷 발생 시스템의 안리포트 실행 결과
3) 이상 패킷 발생 시스템의 Fport나 TCPView 실행 결과
4) 이상 패킷 발생 시스템에서 수집한 수상한 파일

적어도 이상 패킷을 발생하는 시스템을 파악해 안리포트 실행 결과라도 보내줘야 안철수연구소를 포함한 백신 업체에서 문제를 해결 할 수 있다.

최근 등장하는 대부분의 웜, 바이러스가 네트워크를 통해 전파되므로 이상 패킷을 발생시키는 악성 코드의 수는 계속 증가할 것으로 보인다. 이에 대한 대처로 관리자는 사내 컴퓨터를 고정 IP로 할당 해 문제 발생시 문제 시스템을 손쉽게 찾아 해당 시스템의 정보와 수상한 파일을 수집해 백신 회사로 신고하고 해당 시스템의 네트워크 단절 등의 백신 회사가 맡기 어려운 일을 해야 한다.

출처: 안철수 연구소

Posted by tornado
|