반응형

유용한 네트워크 명령어와 툴
ping
상대방과 통신을 하는 장비인 라우터, 스위치, 서버, 컴퓨터에는 외부통신용 NIC 카드가 내장되어 있으며, IP 주소를 할당해서 사용하고 있다. ping(packet internet groper)은 상대방 컴퓨터, 네트워크 장비, 서버 장비까지 통신이 잘 되는지를 확인하는 명령이다.

예를 들면 팀장 컴퓨터의 IP 주소를 알아 두었다가 퇴근했는지 알고 싶다면 ping 명령을 이용해 확인할 수 있다. 팀장이 컴퓨터를 끄고 퇴근했다면 ‘Request timed out’이라고 나오며, 아직 퇴근하지 않고 인터넷을 사용 중이라면 ‘Reply from 203.10.5.10: bytes=32time<10ms TTL=128’이라고 나올 것이다.

그럼 ‘Request timed out’이라고 나오면 어떤 원인들이 있을까? 그 원인을 알아보면 케이블 연결이 잘못되어 있거나, 상대방 컴퓨터 IP 주소가 잘못되었거나, 상대방 컴퓨터가 꺼져 있거나, 상대방 컴퓨터가 인터넷 연결이 안 되어 있는 경우이다.


C:\Windows> ping 203.10.5.10
Request timed out.                                         => 팀장 컴퓨터가 응답이 없음
Reply from 203.10.5.10: bytes=32 time<10ms TTL=128   => 팀장 컴퓨터가 응답이 있음


ping 명령의 TTL(Time To Live) 값은 어떤 OS를 사용하는지도 알 수가 있다. 유닉스 계열은 255, 윈도우 계열은 128부터 TTL 값이 라우터를 지날 때마다 1씩 감소하므로 TTL이 200번대이면 유닉스이고, TTL이 100번대이면 윈도우 계열이라고 생각하면 된다. <화면 1>을 보면 야후는 TTL이 200번대로 유닉스 계열을 사용 중이고 msshop.co.kr 사이트는 TTL이 100번대로 윈도우 계열을 사용하고 있다고 추측할 수 있다.
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 1> TTL을 통해 운영체제를 알 수 있는 사례
TTL
OS
31
Firmware
54
Windows NT
128
Windows 98,2000
244
Irix & linux
246
Redhat linux, unix 4.0
247
Solaris 2.x
248
Unix 4.0
255
Accel linux, linux
255
Cisco router


<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<표 1> ping 명령 옵션 설명


tracert
인터넷은 접속하려는 상대편 컴퓨터(서버)와 직접적으로 연결되어 있지 않고 중간 중간에 네트워크 장비를 거쳐 접속이 된다. tracert(trace route)는 최종 목적지 컴퓨터(서버)까지 중간에 거치는 여러 개의 라우터에 대한 경로 및 응답속도를 표시해 준다.

갑자기 특정 사이트나 서버와 접속이 늦어진 경우에 tracert 명령으로 내부 네트워크가 느린지, 회선 구간이 느린지, 사이트 서버에서 느린지를 확인해 볼 수 있다. 또한 전용회선 관리나 장애 복구시에도 많이 사용한다. <화면 2>를 보면 외부망의 특정 구간에서 속도가 늦다는 것을 알 수 있다.
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 2> 외부망의 특정 구간에서 속도가 늦어지는 모습


<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<표 2> tracert 명령 옵션 설명


nbtstat
회사 내에 많은 컴퓨터가 있다 보면 IP 주소 충돌 경고 메시지가 발생한다. 보통 DHCP를 이용해 IP를 관리하는 곳에서는 잘 발생하지 않지만 고정으로 IP 주소를 설정하는 네트워크 환경에서 하나의 IP 주소를 두 대의 컴퓨터에 입력하게 되면 충돌 메시지가 발생을 하며 네트워크 통신이 안 된다.

이럴 때 충돌되는 컴퓨터를 찾을 때 유용한 명령이 nbtstat(NetBIOS over TCP/IP state) 명령어로 NetBIOS가 사용하는 통계 및 이름 정보를 표시한다. IP 주소 충돌 메시지가 발생하면 컴퓨터를 끄고 다른 컴퓨터에서 nbtstat 명령으로 중복된 IP 주소를 입력해 컴퓨터 이름을 확인한 후에 충돌되는 컴퓨터의 IP 주소를 바꿔주면 된다. <화면 3>은 충돌되는 IP 사용자 ‘SUMA-COM2’를 찾은 후 IP 주소를 변경토록 하면 된다.
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 3> 충돌되는 IP 사용자


<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<표 3> nbtstat 명령 옵션 설명


netstat
웹으로 프로그램을 개발할 때 외부에서 통신이 안 되면 사용 포트를 확인할 때가 있다. 또한 내 컴퓨터에 트로이 목마가 설치되어 정보를 빼낼 수가 있는지를 확인하는 유용한 명령이 ‘Netstat ?an | more(Netstat - network stats)’로, 현재 서비스를 대기하고 있는 ‘LISTENING’된 정보들과 TCP 통신을 하는 서비스의 연결상태를 도메인 정보 없이 보여준다. ESTABLISHED는 다른 컴퓨터와 서로 연결된 상태이고, CLOSED는 연결이 완전히 종료된 것을 나타내며 TIME-WAIT은 연결은 종료되었지만 당분간 소켓을 열어놓은 상태이다
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 4> netstat -an | more 명령


<화면 5>와 같이 내 컴퓨터의 사용 포트를 확인해 불필요한 포트를 사용하고 있다면 외부 해킹이나 트로이 목마로 의심할 필요가 있다. 윈도우 NetBIOS는 TCP 포트 139를 통해 다양한 정보를 넘겨주는 API를 갖고 있는데, 보안에 취약해 인증되지 않은 사용자가 아이디/패스워드 인증 없이 원격지 서버의 정보를 가져갈 수 있다.
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 5> TCP 445번 포트로 접속한 상태


또한 웜 바이러스, 케이블 불량, 스위치 허브 포트 불량으로 인해 데이터 송수신 속도가 늦거나 할 때 ‘Netstat ?e 10’ 명령으로 10초의 주기로 이더넷 인터페이스의 데이터 송수신을 계속 보여주게 함으로써 웜 바이러스로 트래픽이 증가하는지 확인할 수가 있다.
<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<화면 6> netstat -e 명령


<!-- 큰 이미지 하나 중간에 놓을때 사용하는 소스입니다. -->

<표 4> netstat 명령 옵션 설명


route
방화벽 장비나 서버 장비에 NIC 카드를 여러 개 설치할 경우에는 route 명령을 이용해 패킷이 전달되는 경로를 확인하거나 지정할 수 있다. 192.168.1.0 네트워크의 트래픽을 192.168.0.10으로 전달하고자 한다면 ‘route add’ 명령을 사용하며, ‘route print’ 명령으로 라우팅 테이블을 확인한다.


c:\> route add  192.168.1.0  mask 255.255.255.0  192.168.0.10
c:\> route print


(Usage : ROUTE [add | delete | print] [MASK netmask] [gateway] [METRIC metric])

<표 5> route 명령 옵션 설명

 

 

 

 

 

 

 

 

Ipconfig

업데이트 날짜: 01/21/2005
* *
* *

Ipconfig

현재의 TCP/IP 네트워크 구성 값을 모두 표시하고 DHCP(동적 호스트 구성 프로토콜) 및 DNS(Domain Name System) 설정을 새로 고칩니다. 매개 변수 없이 사용할 경우 ipconfig는 모든 어댑터의 IPv6 주소나 IPv4 주소, 서브넷 마스크 및 기본 게이트웨이를 표시합니다.

구문

ipconfig [/all] [/renew[Adapter]] [/release [Adapter]] [/flushdns] [/displaydns] [/registerdns] [/showclassidAdapter] [/setclassidAdapter [ClassID]]

매개 변수

/all

모든 어댑터의 전체 TCP/IP 구성을 표시합니다. 이 매개 변수가 없으면 ipconfig는 각 어댑터의 IPv6 주소 또는 IPv4 주소, 서브넷 마스크 및 기본 게이트웨이 값만 표시합니다. 어댑터는 설치된 네트워크 어댑터와 같은 실제 인터페이스나 전화 접속 연결과 같은 논리 인터페이스를 나타낼 수 있습니다.

/renew [Adapter]

어댑터를 지정하지 않으면 모든 어댑터의 DHCP 구성을 갱신하고 Adapter 매개 변수를 사용하면 특정 어댑터의 DHCP 구성을 갱신합니다. 이 매개 변수는 IP 주소를 자동으로 얻기 위해 구성된 어댑터가 있는 컴퓨터에서만 사용할 수 있습니다. 어댑터 이름을 지정하려면 매개 변수 없이 ipconfig를 사용할 때 나타나는 어댑터 이름을 입력합니다.

/release [Adapter]

DHCP 서버로 DHCPRELEASE 메시지를 보내 현재의 DHCP 구성을 해제하고 어댑터를 지정하지 않으면 모든 어댑터의 IP 주소 구성을 제거하고 Adapter 매개 변수를 사용하면 특정 어댑터의 IP 주소 구성을 제거합니다. 이 매개 변수는 IP 주소를 자동으로 얻기 위해 구성된 어댑터의 TCP/IP를 사용할 수 없게 설정합니다. 어댑터 이름을 지정하려면 매개 변수 없이 ipconfig를 사용할 때 나타나는 어댑터 이름을 입력합니다.

/flushdns

DNS 클라이언트 이름 확인자 캐시의 내용을 플러시하고 다시 설정합니다. DNS 문제 해결 중에 이 절차를 사용하면 동적으로 추가된 다른 항목 뿐만 아니라 캐시에 보관된 부정 캐시 항목을 제거할 수 있습니다.

/displaydns

로컬 호스트 파일에서 미리 로드된 항목과 컴퓨터에서 확인한 이름 쿼리에 대해 최근 얻은 리소스 레코드를 모두 포함하는 DNS 클라이언트 이름 확인자 캐시의 내용을 표시합니다. DNS 클라이언트 서비스는 이 정보를 사용하여 구성된 DNS 서버를 쿼리하기 전에 자주 쿼리되는 이름을 빨리 확인합니다.

/registerdns

컴퓨터에 구성된 DNS 이름 및 IP 주소의 수동 동적 등록을 초기화합니다. 이 매개 변수를 사용하면 실패한 DNS 이름 등록 문제를 해결하거나 클라이언트 컴퓨터를 다시 부팅하지 않고 클라이언트와 DNS 서버 간 동적 업데이트 문제를 해결할 수 있습니다. TCP/IP 프로토콜의 고급 속성에 있는 DNS 설정은 DNS에 등록된 이름을 결정합니다.

/showclassid Adapter

지정된 어댑터의 DHCP 클래스 ID를 표시합니다. 모든 어댑터의 DHCP 클래스 ID를 보려면 Adapter 대신 별표(*) 와일드카드 문자를 사용합니다. 이 매개 변수는 IP 주소를 자동으로 얻기 위해 구성된 어댑터가 있는 컴퓨터에서만 사용할 수 있습니다.

/setclassid Adapter [ClassID]

지정된 어댑터의 DHCP 클래스 ID를 구성합니다. 모든 어댑터의 DHCP 클래스 ID를 설정하려면 Adapter 대신 별표(*) 와일드카드 문자를 사용합니다. 이 매개 변수는 IP 주소를 자동으로 얻기 위해 구성된 어댑터가 있는 컴퓨터에서만 사용할 수 있습니다. DHCP 클래스 ID를 지정하지 않으면 현재의 클래스 ID가 제거됩니다.

/?

명령 프롬프트에서 도움말을 표시합니다.

설명

ipconfig 명령은 winipcfg 명령에 해당하는 명령줄 명령으로 Windows Millinnium Edition, Windows 98 및 Windows 95에서 사용할 수 있습니다. Windows XP 및 Windows Server 2003 제품군에는 winipcfg 명령과 같은 그래픽 요소가 없지만 네트워크 연결을 사용하여 IP 주소를 보고 갱신할 수 있습니다. 이렇게 하려면 네트워크 연결을 열고 네트워크 연결을 마우스 오른쪽 단추로 클릭한 다음 상태, 지원 탭을 차례로 클릭합니다.

이 명령은 IP 주소를 자동으로 얻기 위해 구성된 컴퓨터에서 매우 유용합니다. 이 명령으로 사용자는 DHCP, 개인 IP 주소 자동 지정(APIPA) 또는 다른 구성으로 구성된 TCP/IP 구성 값을 결정할 수 있습니다.

Adapter 이름에 공백이 있으면 어댑터 이름에 따옴표를 사용합니다(예: "Adapter Name").

어댑터 이름에 대해 ipconfig는 별표(*) 와일드카드 문자 사용을 지원하므로 지정된 문자열로 시작하는 이름의 어댑터 또는 지정된 문자열이 포함된 이름의 어댑터를 지정할 수 있습니다. 예를 들어 Local*은 Local이라는 문자열로 시작하는 모든 어댑터와 일치하고 *Con*은 Con이라는 문자열이 포함된 모든 어댑터와 일치합니다.

이 명령은 인터넷 프로토콜(TCP/IP) 프로토콜이 네트워크 연결의 네트워크 어댑터 속성에서 구성 요소로 설치된 경우에만 사용할 수 있습니다.

모든 어댑터의 기본 TCP/IP 구성을 표시하려면 다음과 같이 입력합니다.

ipconfig

모든 어댑터의 전체 TCP/IP 구성을 표시하려면 다음과 같이 입력합니다.

ipconfig /all

Local Area Connection 어댑터만 DHCP 할당 IP 주소 구성을 갱신하려면 다음과 같이 입력합니다.

ipconfig /renew "Local Area Connection"

DNS 이름 확인 문제를 해결할 때 DNS 이름 확인자 캐시를 플러시하려면 다음과 같이 입력합니다.

ipconfig /flushdns

이름이 Local로 시작하는 모든 어댑터의 DHCP 클래스 ID를 표시하려면 다음과 같이 입력합니다.

ipconfig /showclassid Local*

로컬 영역 연결 어댑터의 DHCP 클래스 ID를 TEST로 설정하려면 다음과 같이 입력합니다.

ipconfig /setclassid "Local Area Connection" TEST

서식 범례

서식 의미

기울임꼴

사용자가 입력해야 하는 정보

굵게

사용자가 표시된 대로 정확히 입력해야 하는 요소

줄임표(...)

명령줄에서 여러 번 반복할 수 있는 매개 변수

대괄호([])로 묶음

옵션 항목

중괄호({})로 묶음, 선택 사항은 파이프(|)로 구분. 예: {even|odd}

사용자가 하나만 선택해야 하는 선택 사항 집합

Courier font

코드 또는 프로그램 출력

 

 

 

 

 

 

 

 

1. ipconfig 명령의 실행 방법

시작 >> 실행 >> cmd 입력하면 명령 프롬프트가 나타납니다.[그림1,2]

명령 프롬프트에서 ipconfig 명령을 입력합니다.[그림3]


[그림1]


[그림2]


[그림3]

 

2. 시스템의 IPv6 주소 및 default gateway 확인

IPv6 스택이 설치된 상태에서 ipconfig 명령을 입력하면, 아래 그림처럼 시스템에 생성된 IPv6 주소가 표시됩니다. 아래의 예는, 초고속 인터넷 환경이기 때문에 Native IPv6 주소 없이 ISATAP 터널링 IPv6 주소가 생성되어 있습니다.[그림4]


[그림4]

 

3. 모든 네트워크 인터페이스에 대한 상세 정보 확인

각 네트워크 인터페이스에 대한 상세 정보를 확인하려면 ipconfig -all 명령을 이용합니다.
ipconfig -all 명령을 이용하면 IPv6 DNS 정보를 추가로 확인할 수 있습니다.[그림5]

ipconfig -all 명령 실행결과


[그림5]

 

4. IPv6 DNS Cache 관련 정보 확인

Windows에서는 DNS 쿼리의 효율성을 위해 DNS Cache가 존재합니다. ipconfig -displaydns 명령을 이용하여 시스템에 캐시된 IPv6 DNS 정보를 확인할 수 있습니다.[그림6]

ipconfig -displaydns 명령 실행결과


[그림6]

위 그림에서 보면 www.vsix.net에 대한 IPv6 DNS 정보중 AAAA Record는 2001:2b8:1::100이고 TTL이 76014임을 알 수 있습니다. 또한 album.vsix.net에 대한 IPv6 레코드가 2001:2b8:1::110 임을 알 수 있습니다.

 

5. IPv6 DNS 캐시 정보의 삭제

경우에 따라 테스트 또는 개발 과정에서 기존의 IPv6 DNS 캐시를 삭제해야 할 경우가 발생합니다. 혹은 DNS 서버로 부터 새로운 DNS 정보를 받아오기 위해서는 DNS 캐시를 삭제할 수 있습니다.

ipconfig -flushdns 명령을 이용하여 IPv6 DNS 캐시를 삭제할 수 있습니다.

ipconfig -flushdns 명령 및 ipconfig -displaydns 명령 수행 결과


[그림7]

위 그림에서 보면 ipconfig -flushdns 명령을 통해 IPv6 DNS 캐시가 삭제되었음을 알 수 있습니다.

 

이상으로 ipconfig, ipconfig -all, ipconfig -displaydns, ipconfig -flushdns 명령의 이용 방법을 알아 보았습니다. 위 명령을 통해 시스템의 IPv6 주소 확인, DNS 정보 확인 및 삭제가 가능합니다.

 

 

 

Nslookup 하위 명령

업데이트 날짜: 01/21/2005

출처 : Tong - thesunrises님의 º TIP / DATA통

'Network' 카테고리의 다른 글

05.MAN  (0) 2009.03.12
04.WAN  (0) 2009.03.12
03.LAN  (0) 2009.03.12
01.네트워크  (0) 2009.03.12
00.약어 정리  (0) 2009.03.12

+ Recent posts