• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

팁사용기

[팁] 네트워크 유틸리티

  • - 첨부파일 : networkutil.pdf (651.2K) - 다운로드

본문

네트워크 유틸리티

예전에는 컴퓨터를 사용하는 주된 목적이 연산이나 문서 작성에 있었다. 그러나 지금에 와서는 일반 사용자들에게도 인터넷 사용이 주된 목적이 되었으며, 심지어는 인터넷이 안되면 컴퓨터로 할 일이 없는 것처럼 이야기한다. 그만큼 컴퓨팅 환경에서 공유의 중요성과 편리함이 부각되면서 네트워크는 DB와 더불어 그 근간을 이루게 되었으며, 그에 맞게 빠른 변화와 발전을 해나가고 있는 분야이기도 하다. 사용자들이 가장 많이 접하는 분야이면서도 가장 접근하기 어려워하는 분야인 것이다.

네트워크 유틸리티는 기본적인 네트워크를 이해하고 도움이 될 만한 다양한 정보와 문제해결 도구를 제공하는 중요한 유틸리티이다. 네트워크 관리나 문제해결을 위해 사용되는 주요 명령어들을 사용자들이 쉽게 접근할 수 있도록 구성하였다고 생각하면 무리가 없을 것이다. 세부적으로는 9개의 탭으로 구성이 되어 있는데 각자에 대해서 살펴보도록 한다.

* 정보

이 탭에서는 현재 컴퓨터가 네트워크에 연결되어 있는 인터페이스 정보와 연결 상태 등을 확인할 수 있다. 물론 인터넷 연결여부 정도는 브라우저를실행시키거나 네트워크 환경설정에서 상태 보기를 통해 간단히 확인할 수 있지만 좀 더 체계적인 관리를 원한다면 다음의 정보가 유용하게 사용될것이다.

1.gif
<그림 1. 정보 탭 화면>

* Netstat

Netstat 명령은 현재 자신의 컴퓨터에 어떤 포트가 열려 있으며, 어떤 컴퓨터와 어떤 프로토콜로 연결되었는지, 연결 상태는 어떠한지 보여주는 명령이다. 앞서도 말했지만 네트워크 유틸리티의 사용 목적은 사용자가 어려워하는 네트워크 관련 명령어들을 쉽게 사용할 수 있도록 해주는 것이다. 그러다보니 명령에 사용되는 많은 옵션들을 모두 표현할 수는 없는데, Netstat 명령에 대해서도 사용빈도와 중요성을 감안하여 4가지 정도의 정보 유형을 지정해 놓고 있다. 보다 세밀하고 자세한 옵션을 통해 정보를 얻고자 한다면 터미널을 사용하길 바란다.

- 라우팅 테이블 정보 보기

터미널에서 netstat -r을 입력했을 때와 같은 역할을 하며 라우팅 테이블을 보여준다. 여기서 말하는 라우팅 테이블이란 보통 라우터나L3 스위치 등의 장비가 가지고 있는 네트워크상의 특정 목적지까지의 경로(또는 일부의 경우에는 그러한 경로와 관련된 거리) 정보를 말하며,라우터로 들어오는 패킷의 경로 설정을 위해 사용되어진다. 라우팅 테이블은 일반적으로 주기적으로 장비들간의 통신을 통해 업데이트가 이루어지며,경로의 정보는 다음 라우터까지만을 의미한다.

2.gif
<그림 2. Netstat 탭에서 라우팅 테이블 정보 보기 화면>

Flags 필드의 상태는 다음의 내용을 나타낸다.

> U : 액티브
> G : 게이트웨이
> H : 호스트 라우트
> D : ICMP indirect로부터의 라우트
> GH : 중간 게이트웨이를 지나는 호스트 라우트

Refs 필드는 해당 라우트를 이용하는 현재 연결된 TCP 채널의 수를 나타낸다.
Use 필드는 이 경로를 통해 보낸 패킷의 수를 나타낸다.

- 각 프로토콜에 대한 종합적인 네트워크 통계 보기

터미널에서 netstat -s를 입력했을 때와 같은 역할을 하며, 각 프로토콜에 대한 통계를 보여준다.

3.gif
<그림 3. Netstat 탭에서 각 프로토콜에 대한 종합적인 네트워크 통계 보기 화면>

이 -s 옵션은 네트워크의 내부에 산재한 카운터들의 내용을 덤프한다. 즉 모든 IP, ICMP, TCP 네트워크 정보를 보여준다. 물론 이를 완전히 이해하려면 각 프로토콜의 내부 구조까지 알아야 할 것이다.

- 멀티캐스트 정보 보기

터미널에서 netstat -g를 입력했을 때와 같은 역할을 하며, 멀티캐스트 라우팅과 관련된 정보를 보여준다. 기본적으로는 IP 멀티캐스트가상-인터페이스와 라우팅 테이블을 보여준다.

4.gif
<그림 4. Netstat 탭에서 멀티캐스트 정보 보기 화면>

참고로, 인터넷의 전송 방식은 전송에 참여하는 송신자와 수신자 관점에서 나누어 유니캐스트, 브로드캐스트, 멀티캐스트로 구분할 수 있다. 유니캐스트 전송 방식은 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식으로 일반적인 인터넷 응용프로그램이 모두 유니캐스트 방식을 사용하고 있다. 브로드캐스트 전송방식은 하나의 송신자가 같은 서브네트웍 상의 모든 수신자에게 데이터를 전송하는 방식이다. 반면 멀티캐스트 전송방식은 하나 이상의 송신자들이 특정한 하나 이상의 수신자들에게 데이터를 전송하는 방식으로 인터넷 화상 회의 등의 응용에서 사용한다.

- 현재 모든 소켓 연결 상태 보기

터미널에서 netstat -a를 입력했을 때와 같은 역할을 하며, 서버 프로세스에 의해 사용된 소켓을 포함한 모든 소켓의 상태를 보여준다.참고로 -A 옵션을 사용하면 서버 프로세스에 의해 사용된 소켓은 표시되지 않는다.

5.gif
<그림 5. Netstat 탭에서 현재 모든 소켓 연결 상태 보기 화면>

* AppleTalk

AppleTalk 연결 및 네트워크에 관한 정보를 보거나, AFP 서버나 AppleTalk 프린터와 같은 특정 AppleTalk 정보를검색할 수 있다. Mac OS 9과 X이 혼합된 네트워크에서는 Appletalk의 사용이 필요하므로 이들 정보가 유용할 것이다. 자신이원하는 정보를 선택하고 AppleTalk 정보 입수 버튼을 클릭하면 된다. AppleTalk에 관한 자세한 내용은 'Chapter 5.네트워크'의 네트워크 환경설정 부분을 참조하길 바란다.

6.gif
<그림 6. AppleTalk 탭에서 관련 정보를 입수하는 화면>

결과 해석, 기본 netstat 명령어에 관한 정보 및 명령어를 사용하여 가타 보고서를 생성하는 방법을 위해서는 터미널 응용 프로그램에서 man appleTalk를 실행하길 바란다.

* Ping

Ping 명령은 네트워크를 통해서 통신 상태를 확인하기 위한 가장 기본적인 도구이다. Ping 명령은 ICMP 프로토콜을 사용하여 원격호스트와 네트워크층의 통신이 가능한지 여부를 확인하게 된다. 일단 명령을 수행하면 ICMP echo request라는 메시지를 원격 호스트로송신하고 그에 대한 응답을 기다리게 된다. 즉 송신한 ICMP echo reqest를 받은 호스트가 동작 중이면 응답할 것이고 호스트가동작하지 않으면 응답이 없을 것이기 때문에, ICMP echo reply가 돌아오는 지의 여부에 따라 원격 호스트가 동작 중인지 아닌 지를검사할 수 있는 것이다. 또한 Ping 명령은 특정 호스트와 라우터간의 통신에서 패킷 손실률을 조사할 때도 사용된다.
Ping을 보내고자 한다면, 중간의 입력창에 상대 호스트의 도메인 네임 또는 IP 주소를 입력하고 Ping 버튼을 클릭하면 된다. 하단의라디오 버튼은 상대 호스트에 보내는 ICMP echo request 메시지의 수를 선택할 수 있도록 해준다.

7.gif
<그림 7. 도메인 네임을 통해 Ping을 한 화면. IP 주소를 통해서도 가능하다.>

일반적으로 어떤 호스트에 Ping을 수행할 수 없다면 그 호스트에 대해서는 FTP나 Telnet을 실행할 수 없다. 다시 말해 어떤 호스트에 Telnet을 실행할 수 없는 경우, Ping은 어떤 문제가 발생했는지의 여부를 결정하는 시작점이 된다. 또한 Ping은 어떤 호스트까지의 패킷 왕복 시간을 측정해서, 그 호스트까지의 거리 또는 트래픽 상태를 추정할 수 있도록 해준다. 이와 같이 Ping은 진단용으로 네트워크 또는 시스템에 장애가 발생했는 지의 여부를 조사하는데 사용되기도 한다.

* Lookup

nslookup 명령은 네임 서비스를 테스트하거나 Host 정보를 질의할 때 가장 보편적으로 이용되는 명령어이다. 네임서버를 운영하고관리하는 입장이라면 문제를 발견하고 해결하기 위해 Resolver의 입장으로 네임서버를 시험해볼 필요가 있다. 꼭 관리자가 아니더라도 기타이유로 상대방의 도메인명이나 IP 주소를 알고자 할 때가 있을 것이다. 이를 위해서 대부분의 시스템에 기본 설치되어 있는 nslookup은dig와 함께 가장 널리 사용되는 네임서버 질의 도구이다.

8.gif
<그림 8. 도메인 네임을 통해 nslookup 명령을 수행한 화면. IP 주소를 통해서도 가능하다.>

nslookup은 기본적으로 입력된 도메인에 대해서는 매핑되어 있는 A 레코드(네트워크 주소 즉, IP 주소)를 보여주고, IP 주소를 입력했을 경우에는 IP 주소를 역으로 나열해서 뒤에 옥텟 단위의 "in-addr.arpa"라는 특수 도메인이 붙은 인버스 도메인(inverse domain)으로 PTR 레코드를 검색하여 FQDN(Fully Qualified Domain Name)을 보여주게 된다. FQDN이란 명확한 도메인 표기법을 말한다. 예를 들어, 소프트웨어 설치 중 도메인명을 요구한다면, YAHOO.COM을 입력해야 할지 아니면 WWW.YAHOO.COM을 입력해야 할지 모호할 것이다. 그래서 이러한 모호함을 피하기 위해 FQDN이란 단어를 사용하며, 이는 Namespace 계층상에서 최종 호스트명을 포함하는 도메인명을 뜻한다.

www(호스트명), yahoo.com.(도메인명), www.yahoo.com.(FQDN)

위의 그림은 www.kmug.co.kr이라는 도메인명을 입력하여 도메인에 매핑되는 IP 주소를 알아낸 화면이다. 반대로 IP 주소를 입력하면 해당 도메인명을 알 수 있는데, 이를 위해서는 먼저 인버스 도메인을 ISP에 문의하여 신청하여야 한다. 인버스 도메인은 IP 주소에 대해 해당 도메인을 역으로 찾을 수 있도록 하는 서비스이다. 보통 ISP에서 IP 주소를 할당받을 때 같이 신청한다. 만일 IP 주소를 입력하고 Lookup 버튼을 클릭하였는데

** server can't find 46.102.39.in-addr.arpa: NXDOMAIN

과 같은 메시지가 나타난다면, 인버스 도메인 등록이 안되어 있는 것이므로 해당 ISP에 신청하여야 한다.(이 기능이 꼭 필요하다면 말이다.)

중단의 팝업 메뉴는 쿼리타입을 선택하기 위한 것으로, 자신이 원하는 정보의 형태를 선택하면 된다.

마지막으로 Dig(Domain Information Groper)는 네임서버에 도메인 네임에 관한 질의를 요청하는 명령어로서, nslookup과의 기능적 차이는 크게 없지만, 사용이 간편하고 출력이 상세하여 Shell Script 등에서 주로 사용된다.

* Traceroute

traceroute는 연결하려는 특정 호스트까지의 경로(각 홉마다 거치게 되는 게이트웨이 컴퓨터)를 확인할 수 있는 명령어이다. 이것은각 홉에 걸리는 시간의 합을 계산하여 표시해주기도 한다. traceroute는 인터넷상에 병목현상과 같은 문제점을 확인할 수 있으며, 인터넷그 자체에 대해 좀더 자세한 느낌을 갖게 하는 두 가지 목적을 위해 편리한 도구이다.
Traceroute를 실행하면, 수신경로상의 각 라우터에 의해 그 패킷이 버려지도록 하기 위해, 의도적으로 낮은 TTL 값을 설정하여 패킷을보낸다. 패킷을 보내고 패킷이 버려졌다는 ICMP 메시지를 돌려 받기까지의 시간으로, 이어지는 각각의 홉 이동시간을 계산하게 되는 것이다.

9.gif
<그림 9. Traceroute 실행 화면>

일단 traceroute를 실행하면, 위의 그림처럼 목적지까지 가는데 거치는 각 라우터들을 왕복시간과 함께 보여준다. 그럼 다음과 같은 대략적인 분석방법을 통해 문제점을 파악하면 될 것이다. 일반적으로 경로상의 어느 부분에서 문제를 야기하는지 알려면 traceroute를 실행하고, 그 다음으로는 중간 경로에 있는 라우터들에게 구간별 ping 테스트를 하는 방법을 사용한다.

분석방법

- 종종 목적지 중간경로에 있는 장비에서 timeout 현상(별표 *가 나타나는 현상)이 발생하는데 이것이 source와 destination간의 네트워크 상태를 정확히 알려주는 것은 아니다.

- 몇몇 IP 네트워크 장비에서는 ICMP 패킷이 아닌 다른 일반적인 패킷에 보다 많은 시간을 할애하도록 설계된 경우가 있는데, 해당 IP 네트워크 장비가 매우 바쁠 경우에는 TTL=0인 패킷에 대해서 ICMP time exceed 등을 생성/전달하지 않는 경우가 많다.

- 다른 경우는 중간경로에 있는 IP네트워크 장비가 아예 ICMP echo reply 혹은 ICMP time exceed를 발생하지 않는 경우인데 주로 이러한 장비들은 Firewall인 경우가 많다. 그러나 Firewall이라고 해서 ICMP echo reply, ICMP time exceed를 생성하지 않는 것은 아니며, 관리자의 설정에 따라 좌우된다. 이러한 이유로 traceroute 수행시 중간경로상의 timeout 현상에 대해서는 무시해도 좋으며, 최종목적지와 중간경로의 ping 상태가 좋은지를 파악하는 것이 보다 중요하다.

* Whois

Whois는 일반적으로 InterNIC(또는 다른 지정 호스트)의 데이터베이스에 질의를 보내어 도메인, 네트워크 그리고 실무자에 대한 정보를 얻는데 사용된다. 지리적인 분류법에 의하여 대한민국에 할당된 Domain은 kr이다. 그리고 그 도메인은 한국인터넷정보센터(KRNIC)에서 관리하고 있으며 url은 whois.nic.or.kr이다. 이 사이트에 접속하면 kr로 끝나는 co.kr, pe.kr 그리고 or.kr 등의 도메인이나 국내 IP주소의 사용기관 및 연결 ISP에 대한 정보를 검색할 수 있을 것이다.

10.gif
<그림 10. Whois 실행 화면. 선택할 수 있는 Whois 서버의 부족이 아쉽다.>

그러나 아쉽게도 이 탭에서 선택할 수 있는 Whois 서버들은 모두 외국에 존재하는 것들이다. 이들 서버에서는 국내의 도메인이나 IP 주소에 대한 정보를 얻을 수 없다. 이를 위해서는 터미널을 통해 보다 세세한 지정 및 옵션을 사용하여야 하며, 이도 국내에서의 Whois 서비스에 대한 인식이 적어서 몇몇 도메인 관리 사이트에서나 서비스하는 것으로 알고 있다.

* Finger

Finger는 전자우편 주소를 이용하여 특정인의 사용자 정보를 조회하는 명령어이다. 터미널이라면 명령어의 사용 방법에 따라 다양한 정보를조회할 수도 있지만, 네트워크 유틸리티에서는 특정 개인 정보 조회만을 목적으로 한다. 물론 이를 위해서는 상대방 쪽의 서버가 Finger요청에 대해 응답할 수 있도록 설정되어 있어야 한다.

11.gif
<그림 11. Finger 실행 화면. 개인정보 유출 방지를 위해 연결이 거부되는 곳이 많다.>

인터넷 운영에 여러 가지 장점을 지니므로, 인터넷 서비스 공급자들이나 대학·대기업 등에서 많이 사용하고 있다. 하지만 개인정보 유출과 프라이버시를 침해할 소지가 많아 최근에는 Finger를 막는 것이 일반적이다.

* Port Scan

Port Scan은 특정 호스트에서 실행되고 있는 네트워크 서비스를 식별하기 위한 가장 효과적인 기능이다. Port Scan을 위해 가장 간단하면서 많이 사용되는 방법은 지정된 포트 범위에 따라 TCP/IP 3-way handshake 연결을 사용한 확인이다. 즉, 아래 그림과 같은 경우에는 10.0.1.100(정보 유출 우려로 사설 IP 주소를 사용함을 밝힌다.)이라는 주소를 갖는 호스트에 대해 0번 포트부터 시작해서 65535번 까지의 포트에 순차적으로 연결을 요청하는 SYN 패킷을 보내는 것이다. 그러면 Target 호스트에서는 포트가 열려 있는 경우 연결 요청을 받아들이는 SYN/ACK 패킷을 보내오게 되고, 이에 다시 ACK 패킷을 보냄으로서 3-way handshake가 이루어지는 것이다. 만일 포트가 닫혀 있다면, 연결 요청을 받아들이지 못하므로 RST/ACK 패킷을 보내오게 될 것이다.

Port Scan을 하기 위해서는 먼저 Port Scan을 원하는 호스트의 IP 주소나 도메인명을 입력한다. 그 다음 아래의 체크 상자를선택하고 테스트를 원하는 포트의 범위를 입력하여 준다. 포트의 사용 범위가 0부터 65535까지이므로 그 이내에서 지정을 하여주면 된다.범위가 클수록 당연히 시간이 더 소요될 것이며, 이를 벗어나는 경우에는 테스트를 진행하지 않는다. 특별히 범위를 지정하지 않는다면 모든범위를 스캔한다고 생각하면 될 것이다.

12.gif
<그림 12. Port Scan 실행 화면>

Port Scan은 사용하기에 따라서는 자신의 시스템의 취약성을 점검하는 방법으로 사용할 수도 있지만, 원격지에서 다수의 시스템에 대해 시스템의 자체 버그, 시스템 구성상의 문제점 등 해킹 가능한 보안 취약점을 알아내고자 하는 가장 빈번하게 나타나는 공격 수단이기도 하다.

0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
회원사진
포인트 765,229
가입일 :
2002-05-23 22:53:10
서명 :
KMUG 애플에 대한 모든 것. 케이머그
자기소개 :
2000년 3월 1일 부터 시작 http://www.kmug.co.kr webmaster@kmug.co.kr

최신글이 없습니다.

최신글이 없습니다.

댓글목록 0

등록된 댓글이 없습니다.
전체 2,454 건 - 49 페이지