2013년 9월 14일 토요일

Network Security #02

제10강.네트워크성능 관리
PING (Packet Internet Groper)
TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol) 사용
ICMP(Internet Control Message Protocol)
  • ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜
  • OSI 3계층인 네트워크 계층에 속함.
  • RFC 792에 정의됨.
  • ICMP는 IP 테이터그램을 사용
  • 메시지는 TCP/IP 소프트웨어에 의해 처리되며 응용프로그램 사용자에게 직접 분명하게 보이지는 않는다. 일례로서 ping 명령어는 인터넷 접속을 테스트하기 위해 ICMP를 사용한다.


PING 구조


TYPE ( 0 or 8)
Code (0)
Checksum

Identifier

Sequence Number

Option Data









  • 타입 : ICMP 메시지 유형 구분
  • 코드 : 메시지에 대한 추가 정보 (ping은 0)
  • 오류검사 : ICMP 메시지에 대한 오류만 검사
  • 식별자 : 패킷을 보낸 ID로 응답 시 확안. 같은 서버에 요청되는 각종 PING Request에 대한 소유권 구분
  • 번호순서: ‘0’에서 부터 시작하여 증가하는 값. 응답 패킷에 복사
>ping www.yahoo.co.kr
Pinging sg-rc.g01.yahoodns.net [203.84.219.114] with 32 bytes of data:


Reply from 203.84.219.114: bytes=32 time=309ms TTL=49
                                   -----------------
RTT(Round Trip Time)와 TTL(Time to Live) 값
Reply from 203.84.219.114: bytes=32 time=307ms TTL=49
Reply from 203.84.219.114: bytes=32 time=311ms TTL=49
Reply from 203.84.219.114: bytes=32 time=312ms TTL=49


Ping statistics for 203.84.219.114:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
   ----------------------------------------------------
   Packet 손실율
Approximate round trip times in milli-seconds:
   Minimum = 307ms, Maximum = 312ms, Average = 309ms
   -------------------------------------------------
RTT 최대, 최소값  


PING 출력 형태
  • 첫번째 RTT 값이 다른 RTT 값들보다 높은 경우 :: ping을 수행한 장비의 ARP 캐시에 대상 호스트의 IP에 관련된 MAX가 없는 경우, 주로 발생
PING 형식과 옵션(windows)
  • -t : 사용자가 프로그램을 끝낼 때 까지, PING 명령을 계속 수행
  • -a : 입력된 IP 주소를 호스트 이름으로 바꾸어 줌
  • -n count : count에 지정된 수 만큼 패킷을 보냄
  • -w timeout : timeout 시간을 연장
  • -l size : 패킷 사이즈를 변경


TTL(Time-To-Live)::
  • IP 패킷 내에 있는 값, 네트워크내에 얼마 오래 있었으며 폐기 여부를 라우터에게 알려줌.
  • 패킷들이 정상적으로 목적지까지 배달되지 않는 여부를 나타낸다.
  • 초기치는 8비트 헤더에 설정됨.
  • 각 라우터는 TTL필드로 부터 적어도 하나의 숫자를 빼도록 되어 있음. 그 계산은 대개 패킷이 버려지기 전에 허용되는 라우터의 홉수를 의미(홉 : 라우터 <-> 라우터 사이)
  • 패킷을 받는 각 라우터는 TTL 필드 내의 값에서 1을 뺀다. 그 값이 0이 되었을 때, 라우터는 그것을 감지하여 그 패킷을 버리고 ICMP 메시지를 발신지 호스트로 보냄.
  • 원도우9x의 기본 TTL은 32홉 , 만약 어떤 사이트에 도달하기 어려움을 느끼는 사용자라면 이 값을 128 정도로 바꾸는 것도 하나의 방법.
  • tracert - 수신 경로를 따라 이어지는 각 라우터에 의해 그 패킷이 버려지도록 하기 위해,의도 적은 낮은 TTL값을 이용
  • TTL 값
    • 0은 같은 호스트 ,1 은 같은 서브넷으로 제한
    • 32은 같은 사이트 , 64은 같은 지역으로 제한
    • 128은 같은 대륙 ,255는 제한 없다.



tracert(Trace Route)
  • 특정 호스트를 찾아가기 위하여 거치는 홉을 기록하는 프로그램.
  • 해당 라우터의 라우팅 데이블이 정상적인지 점검
  • ICMP의 메시지 두 종류와 IP헤더 내의 TTL을 사용
Tracert 옵션 사용 예
  • 홉 마다 주소에 대한 호스트 이름을 알아 보는 것을 제외하여 trace 실행 시간을 빠르게 하고자 하는 경우
    예) tracert -d www.yahoo.co.kr
  • 대상 호스트까지 연결되는 홉 중 5개만의 경로를 알고자 하는 경우
    예) tracert -h 5 www.yahoo.co.kr
netstat
  • 네트워크 인터페이스 카드의 네트워크 통계치와 현재의 TCP/IP 네트워크의 연결상황을 나타내는 프로그램
  • 이를 통하여
    • 현재 발생하고 있는 Collision Rate 계산
    • 접속 케이블/인터페이스의 양호 상태
    • Broadcast 율, Discard 율, 네트워크 I/O 트래픽 율
    • 라우팅 데이블 등을 알 수 있음
    • 또한, 현재 접속되어 있는 호스트의 어드레스와 포트 번호를 알 수 있음.
참고 : 브로드캐스트(broadcast)
  • 영역안에 모든 노드에 동일한 신호를 보내는 것
  • 비교
    • 유니캐스트 : 특정 수신자(대부분의 전자우편이 그렇다)에게만 전송
    • 멀티캐스트 : 다중 수신자(전자우편 메일링 리스트 또는 MBone네트웍을 통한 웹전송 등)들에게 전송
    • 애니캐스트 : 라우터들의 그룹에서 가장 가까이 있는 것들에게 전송


Netstat 출력 양식
  • Proto: 연결된 네트워크의 프로토콜 이름
  • Local Address : 연결에 사용되는 로컬 단말의 IP주소와 포트번호 표시 (포트 지정이 안된 경우 * 표시)
  • Foreign Address : 연결된 원격 컴퓨터의 호스트 이름이나 IP 주소 표시
  • State : 연결 TCP 프로토콜의 연결 상태 표시
    • 연결 시 : established
    • 연결 대기 중인 경우 : listening


netstat 옵션 사용예
  • 현재 이더넷 환경에서 해당 단말의 broadcast와 unicast 패킷 비율, 폐기되는 패킷 율, 에러등의 통계치를 알고 싶은 경우
    ::netstat -e
  • 네트워크 연결 상황을 IP주소와 패킷 번호 별로 나타내고자 하는 경우
    ::netstat -a -n  (결과에 이상한 포트번호가 (12345,1245 등) 나타나면 트로이의 목마에 감염된 것임.
  • 해당 단말의 라우팅 형태와 연결 접속 사황을 보고자 하는 경우 (라우팅 테이블을 보여줌)
    ::netstat -r
라우팅 테이블


설명
Network Address
Netmask
Gateway
Interface
Metric
Default
Route
0.0.0.0
0.0.0.0
192.168.1.1
192.168.1.100
20
Loop Back
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
Subnet
network
192.168.1.0
255.255.255.0
192.168.1.100
192.168.1.100
20
Lan Card
192.168.1.100
255.255.255.255
127.0.0.1
127.0.0.1
20
Subnet
Boradcast
192.168.1.255
255.255.255.255
192.168.1.100
192.168.1.100
20
Multicast
224.0.0.0
240.0.0.0
192.168.1.100
192.168.1.100
20
Limited
broadcast
255.255.255.255
255.255.255.255
192.168.1.100
192.168.1.100
1


Routing Table 보는 법

  • default route
    • 여러 라우팅 데이블을 확인해서 일치하지 않을 경우, default route의 gateway로 보낸다
    • 일반적으로 라우터의 주소에 해당
  • loopback
    • 127.0.0.1은 software loopback 주소로서, 자기 자신을 가리킨다.
  • subnet network
    • ip 주소의 subnet network 주소를 가르킨다.
    • ip 주소가 192.168.1.100 이고 subnet mask가 255.255.255.0 인 경우 AND 연산을 통해 192.168.1.0이 network 주소가 된다.
  • LAN card : 자신의 IP주소를 의미한다.
  • subnet broadcast : 위의 subnet mask 연산결과 나온 192.168.1.0 의 마지막 주소인 192.168.1.255를 broadcast로 사용.
  • multicast
    • D class의 multicast를 나타내는 행이다.
    • 특정한 그룹에게 메시지를 전달 할 때 사용되는 주소
  • limited broadcast
    • 라우터를 통과하지 못하는 broadcast 주소
    • 같은 subnet 상의 모든 host에 전달

댓글 없음: