본문 바로가기

IT인생_스크랩/Network

ip account와 cache flow를 이용한 라우터에서의 패킷

출처 BRYAN'S BLOG | 한윤구
원문 http://blog.naver.com/bryan0907/40004308030




① ip account와 cache flow를 이용 라우터에서의 패킷분석
  출판일 :2004년 6월호

 Tip! Tip! Tip!은 싸이버정보통신에서 네트워크 엔지니어로 종사하고 있는 박상철(zesum@cyberinfocomm.com)씨가 현업에서의 경험을 공유하고, 실무에 적용할 수 있는 정보를 제공하고자 마련한 것입니다. 네트워크와 관련된 많은 문서와 서적이 있지만 단순히 이론적인 측면에 많이 치우쳐져 있습니다. 이 코너는 현장에서 일하는 엔지니어와 네트워크 관리자들이 필요로 하는 살아있는 지식을 전달하는 역할을 할 것입니다.

박 상철 | 싸이버정보통신 네트워크 엔지니어

ip account와 cache flow를 이용한 라우터에서의 패킷 분석

특정 구간을 지나가는 모든 패킷의 종류를 정확히 알기 위해서는 포트 미러링을 한 후 스니퍼 등을 연결해 패킷 캡처를 해야 한다. 하지만, 간단하게 측정하고자 할 때는 추가 장비 없이 라우터에서 제공하는 기능을 이용할 수 있다. 라우터에서 어떤 종류의 패킷이 지나가는지를 알아 볼 수 있는 방법으로 (그림 1)과 같이 ip account를 이용하는 방법과 ip route-cache flow를 이용하는 방법 두 가지가 있는데, 지금부터 이들에 대해 살펴보도록 하자.

 

 

<ip account를 이용하는 방법>

 

인터페이스 기준으로 나가는 방향의 패킷을 볼 수 있다. (그림 1)에서 인터페이스 e0에 ip account 설정을 해주면 라우터에서 e0을 통해 빠져나가는 트래픽을 볼 수 있다.

 

[1] config 방법
Router(config)# interface FastEthernet 0
Router(config-if)# ip accounting output-packets
Router(config-if)# ^Z

[2] 확인
Router# show running-config
...
interface FastEthernet0
  ip address 192.168.1.1 255.255.255.0
  ip accounting output-packets
...

[3] 본격적인 분석
Router# show ip accounting

 

(표 1)의 결과를 텍스트 파일로 저장해 엑셀에서 불러온 후 정렬을 하면 원하는 내용을 정리해 볼 수 있다.

 

 

[4] 특정 부분만 보기
Router# show ip accounting | include 192.168.1.191

 

include라는 명령어를 이용해 앞의 결과에서 필요한 부분만 골라 볼 수 있다(표 2).

 

 

[5] 내용 초기화
Router# clear ip accounting

 

<ip route-cache flow를 이용하는 방법>


 

cache-flow는 ip account와 반대로 인바운드로 오는 패킷을 볼 수 있으며, ip account 보다 세밀한 분석 기능을 제공한다.

 

[1] config 방법
Router# configure terminal
Router(config)# ip cef
Router(config)# interface FastEthernet 1/0
Router(config-if)# ip route-cache flow
Router(config-if)# ^Z

 

[2] 확인
Router# show running-config
...
ip cef
...
interface FastEthernet 1/0
  ip address 192.168.1.1 255.255.255.0
  ip route-cache flow
...

 

[3] 초기화 하기
Router# clear ip flow stats

 

[4] 분석하기
Router# show ip cache flow
IP packet size distribution (16029M total packets):

 

(표 3)에서 윗 부분은 패킷 크기를 나타내고 밑 부분은 %를 나타낸다. 즉, (표 3)에서 1025~1536바이트 크기의 패킷이 전체 패킷의 56.3을 나타내고 있다. (표 4)는 각 프로토콜별 패킷 분포도를 나타낸 것이다.

 

 

 

 

(표 5)에서 가장 많은 패킷은 192.168.1.121에서 10.19.169.431로 가는 것이고, 포트 번호는 0x09FA → 0x04BE인 패킷이 1177개가 지나갔다는 것을 의미한다. (표 5)의 내용을 텍스트로 캡처한 후 엑셀에서 소트하면 어떤 포트가 많이 사용되는 것이고, 어떤 IP가 많이 사용되고 있는지 알 수 있다.

 

 

[5] 분석 사례
지금까지의 내용을 이용해 실제 현장에서의 분석 사례를 살펴보도록 하자. 네트워크가 마비되는 경우는 여러 가지 원인이 있지만 최근 사례를 살펴보면 웜/바이러스에 의한 라우터 CPU 과부하로 인한 경우가 많다는 것을 알 수 있다. 이것의 근본적인 원인은 마이크로소프트 윈도우의 보안패치를 하지 않은 컴퓨터들이다. 가장 대표적인 경우가 1.25 인터넷 대란이라고 불리우는 SQL_Overflow(슬래머)로 인한 것이다.
일단, 윈도우 보안패치가 안된 컴퓨터가 감염이 되면 외부로 엄청나게 많은 양의 패킷을 전송하게 된다. 더군나 여기서 목적지를 바꿔서 전송을 하기 때문에 그 효과는 더욱더 증가하게 된다. 만약, 목적지 어드레스를 바꾸지 않고 전송한다면 캐시 정보를 이용하기 때문에 그나마 피해의 정도가 줄어든다.

Router# show interfaces stat

GigabitEthernet0/1
          Switching path    Pkts In   Chars In   Pkts Out  Chars Out
               Processor    3398293  243976123    1875321  138934994
             Route cache 1673154281 1814744709 3107259586 1930898125
                   Total 1676552574 2058720832 3109134907 2069833119

 

위에서 보다시피 일반적인 경우에는 캐쉬를 이용하는 경우가 훨씬 더 많다. 하지만, 목적지를 바꿔가면서 시도하는 공격이 발생하는 경우 Route cache 부분이 줄어들고 Processor를 이용하는 부분이 증가한다. 물론, 가장 대표적인 사례가 슬래머 웜이다.

 

[사례] MS-SQL 취약점 공격

 

지금부터 나오는 내용은 예전에 1.25 인터넷 대란을 일으킨 일명 SQL_Overflow(슬래머)공격이 일어났을 당시 모 사이트에서 실제로 일어난 상황이다. 어느날 NMS에서 갑자기 라우터가 응답이 없다는 경고가 들어왔고, MRTG 그래프를 살펴보니 어느 순간 갑자기 평상시 10~20% 정도였던 라우터 CPU 사용률이 갑자기 90% 이상까지 올라간 것이다. 라우터에 들어가서 show ip cache flow 명령어를 이용해 살펴보니 udp/1434 패킷이 엄청나게 많음을 알 수 있었다. 

 

Router# show ip cache flow

SrcIf         SrcIPaddress    DstIf       DstIPaddress    Pr SrcP DstP  Pkts
Gi1/0         172.16.190.106  Gi2/0     218.232.16.171  11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     142.145.198.152 11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     174.49.243.115  11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     74.134.74.140   11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     52.105.110.74   11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     119.231.159.57  11 08F3 059A     1
Gi1/0         10.100.128.34   Gi2/0     51.163.99.139   11 08F3 059A     1
Gi1/0         10.100.128.34   Gi2/0     136.150.144.122 11 08F3 059A     1
Gi1/0         10.100.128.34   Gi2/0     193.222.217.63  11 08F3 059A     1
Gi1/0         10.100.128.34   Gi2/0     134.193.142.57  11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     76.45.149.179   11 0E69 059A     1
Gi1/0         172.16.190.106  Gi2/0     72.80.161.151   11 0E69 059A     1
Gi1/0         172.16.190.106  Gi2/0     58.72.111.143   11 0E69 059A     1
Gi1/0         172.16.190.106  Gi2/0     202.212.32.37   11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     149.126.197.85  11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     100.143.189.248 11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     20.236.68.153   11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     156.214.198.83  11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     177.129.233.46  11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     136.136.226.3   11 0E69 059A     1
Gi1/0         10.100.128.34   Gi2/0     44.37.44.106    11 08F3 059A     1
Gi1/0         172.16.190.106  Gi2/0     194.122.231.157 11 0E69 059A     1
Gi1/0         210.107.128.34  Gi2/0     111.187.167.250 11 08F3 059A     1


 

일단, 급하게 라우터에서 액세스 리스트로 udp/1434를 차단해, 피해를 최소화할 수 있었다. 차단 후 다시 캐시 플로우 내용을 보면 다음과 같이 목적지 인터페이스가 Null로 표시된다. 목적지 인터페이스가 Null이라는 것은 그 패킷을 드롭시킨다는 것을 뜻한다.

 

router# show ip cache flow

SrcIf         SrcIPaddress    DstIf         DstIPaddress    Pr SrcP DstP     Pkts
Gi1/0         172.16.190.106  Null         218.232.16.171  11 0E69 059A     1
Gi1/0         10.100.128.34   Null         142.145.198.152 11 08F3 059A     1
Gi1/0         172.16.190.106  Null         174.49.243.115  11 0E69 059A     1
Gi1/0         10.100.128.34   Null         74.134.74.140   11 08F3 059A     1
Gi1/0         172.16.190.106  Null         52.105.110.74   11 0E69 059A     1
Gi1/0         10.100.128.34   Null         119.231.159.57  11 08F3 059A     1
Gi1/0         10.100.128.34   Null         51.163.99.139   11 08F3 059A     1
Gi1/0         10.100.128.34   Null         136.150.144.122 11 08F3 059A     1
Gi1/0         10.100.128.34   Null         193.222.217.63  11 08F3 059A     1
Gi1/0         10.100.128.34   Null         134.193.142.57  11 08F3 059A     1
Gi1/0         172.16.190.106  Null         76.45.149.179   11 0E69 059A     1
Gi1/0         172.16.190.106  Null         72.80.161.151   11 0E69 059A     1
Gi1/0         172.16.190.106  Null         58.72.111.143   11 0E69 059A     1
Gi1/0         172.16.190.106  Null         202.212.32.37   11 0E69 059A     1
Gi1/0         10.100.128.34   Null         149.126.197.85  11 08F3 059A     1
Gi1/0         172.16.190.106  Null         100.143.189.248 11 0E69 059A     1
Gi1/0         10.100.128.34   Null         20.236.68.153   11 08F3 059A     1
Gi1/0         172.16.190.106  Null         156.214.198.83  11 0E69 059A     1
Gi1/0         10.100.128.34   Null         177.129.233.46  11 08F3 059A     1
Gi1/0         172.16.190.106  Null         136.136.226.3   11 0E69 059A     1
Gi1/0         10.100.128.34   Null         44.37.44.106    11 08F3 059A     1
Gi1/0         172.16.190.106  Null         194.122.231.157 11 0E69 059A     1
Gi1/0         210.107.128.34  Null         111.187.167.250 11 08F3 059A     1

 

출처 : On the net 6월호

'IT인생_스크랩 > Network' 카테고리의 다른 글

Cisco Switch Password Reset  (0) 2010.06.24
NAT 란  (0) 2010.06.24
이더리얼 강좌 2  (0) 2010.06.24
이더리얼을 활용한 패킷분석 1.탄생배경과 특징  (0) 2010.06.24
서브넷(subnet)  (0) 2010.06.24