관리 메뉴

kisoo

route command 본문

01.About Programming /4.Security Lab

route command

JamesK78 2012. 7. 27. 16:30

windows 에서 null route 추가해보기

 

 http://blog.cmdline.org/2009/08/18/howto-windows-xpserver-2003-null-route/

 

The following example is from Wikipedia:

C:\> route ADD 192.168.32.128 MASK 255.255.255.255 192.168.32.254

 

 

 

 

 가정에서는 route 명령어 같은게 당연히 필요 없겠지만 회사에서 수많은 컴과 네트워크를 신경 써야 하다보니 route 콘솔 프로그램을 사용하게 되었다. 경험상 route 명령어가 필요한 간단한 상황 두가지가 있다. 첫번째는 랜카드가 두개 물린 컴퓨터에서 목적지 주소에 따라 일정한 랜카드에 패킷을 전달하는 경우다. 두번째는 인터넷을 위한 출구로 사용되는 Gateway가 다수 존재 할 경우, 랜카드가 하나인 일반 PC에서 기본게이트웨이를 설정한 상태에서 특정주소로 가는 패킷에 대해서 다른 Gateway를 지정할 때다. route 콘솔명령어의 기능이라면 현재 라우팅테이블 표시, 라우팅 경로 추가 및 삭제, 도움말 정도이며 윈도우에서 커맨드창에서 다음 처럼 입력하면 된다. Vista 부터는 도움말도 한글로 나온다.

 

 

c:\>route

 

c:\>route print

 

c:\>route add 210.95.249.0 mask 255.255.255.0 192.168.10.18 metric 1

 

c:\>route delete 210.95.249.0

 

 

 

route 명령어 도움말

 

 

 

Setting environment for using Microsoft Visual Studio 2008 x86 tools.

 

E:\MyPoj\C#.NET\consol>route

 

네트워크 라우팅 테이블을 조작합니다.

 

ROUTE [-f] [-p] [-4|-6] command [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]

 

-f 모든 게이트웨이 항목의 라우팅 테이블을 지웁니다. 명령 중
하나와 함께 이 옵션을 사용하면 명령 실행 전에
테이블이 지워집니다.

 

-p ADD 명령과 함께 이 옵션을 사용하면 시스템을 다시 부팅해도
경로가 보존됩니다. 시스템을 다시 시작할 때 기본적으로 경로가
보존되지 않습니다. 해당 영구 경로에 항상 영향을 주는 다른 모든 명
령에 대해서는 무시됩니다. Windows 95에서는 이 옵션이
지원되지 않습니다.

 

-4 IPv4를 사용합니다.

 

-6 IPv6을 사용합니다.

 

command 다음 중 하나입니다.
PRINT 경로를 인쇄합니다.
ADD 경로를 추가합니다.
DELETE 경로를 삭제합니다.
CHANGE 기존 경로를 수정합니다.

 


destination 호스트를 지정합니다.
MASK 다음 매개 변수가 'netmask' 값임을 지정합니다.
netmask 이 경로 항목에 대한 서브넷 마스크 값을 지정합니다.
지정하지 않으면 기본값 255.255.255.255가 사용됩니다.
gateway 게이트웨이를 지정합니다.
interface 지정한 경로에 대한 인터페이스 번호입니다.
METRIC 대상의 비용과 같은 메트릭을 지정합니다.

 

대상에 사용되는 모든 심볼 이름은 네트워크 데이터베이스 파일인
NETWORKS에서 찾습니다. 게이트웨이에 대한 심볼 이름은 호스트 이름
데이터베이스 파일인 HOSTS에서 찾습니다.

 

명령이 PRINT 또는 DELETE인 경우 대상이나 게이트웨이에 별표(*)로 지정되는
와일드카드를 사용할 수 있고 게이트웨이 인수를 생략할 수 있습니다.

 

대상에 * 또는 ?가 있으면 셸 패턴으로 처리되며 일치하는
대상 경로만 인쇄됩니다. '*'는 문자열에 해당하고
'?'는 한 문자에 해당합니다. 예: 157.*.1, 157.*, 127.*, *224*.

 

패턴 일치는 PRINT 명령에서만 허용됩니다.
진단 참고:
(DEST & MASK) != DEST와 같이 잘못된 마스크가 오류를 생성합니다.
예: route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
경로 추가에 실패했습니다. 지정한 마스크 매개 변수가 잘못되었습니다.
(Destination & Mask) != Destination입니다.

 

예:

 

> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157* .... 일치하는 157*만 인쇄

 

> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^
Interface^
IF를 지정하지 않으면 지정된 게이트웨이에 가장 적절한 인터페이스를 찾으려고

 

합니다.
> route ADD 3ffe::/32 3ffe::1

 

> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

 

CHANGE는 게이트웨이 및/또는 메트릭을 수정하는 데만 사용됩니다.

 

> route DELETE 157.0.0.0
> route DELETE 3ffe::/32

 

E:\MyPoj\C#.NET\consol>

 

 

라우팅테이블 표시 (route print)

 

 

 

Interface List

 

장비에 설치된 랜카드 목록과 맥어드레스가 표시된다. 첫번째로 루프백주소 127.0.0.1 이 맨위에 0x1 ... 로 표시된다.
이어서 유선이나 무선랜 카드의 제품정보와 맥어드레스(Mac Address)가 차례로 표시된다.

 

Network Destination
패킷이 전달될 네트워크 목적지 주소로서 Netmask와 AND연산으로 결정된다.

 

Netmask
Network Destination 을 구별하기 위한 서브넷 마스크로 사용된다 .
즉, 패킷 목적지에 Netmask와 AND 연산한다. 결국은 어떤 네트워크 목적지로 갈 것인지를 Netmask에서 결정한다.


Geteway
Interface를 빠져 나간 패킷이 전달될 주소다. 패킷이 인터넷 영역으로 전달되는 관문에 해당하는 주소로 일반적으로
자신의 랜카드 주소 또는 로컬 서브넷의 게이트웨이(라우터)다.

 

Interface
Network Destination이 일치하는 패킷이 전달될 인터페이스 카드의 IP 주소다.

 

Metric
가장 좋은 라우터경로를 결정하기 위해 사용되는 비용(Cost)값이다. 목적지 까지의 hop 수를 말하며 local LAN의 경우 1 값을 준다.

 


Persistent Routes
정적으로 설정된 라우팅값으로 장비를 리부팅 해도 보존되는 값이다. Add 할 때 p 옵션을 준다.

 


라우팅 테이블 적용 순서
라우팅 테이블 상의 각행의 적용은 유티크한 값에서 일반값 순이다.
1) host address 2) Subnet address 3) Network address 4) Default gateway
From the most unique route(host address) to most generic(default gateway)

이 글은 스프링노트에서 작성되었습니다.

Comments