Mac OSX에서 기본 게이트웨이를 얻는 방법


119

Mac 컴퓨터에서 기본 게이트웨이를 검색해야합니다. Linux에서는 route -n이이 정보를 쉽게 검색 할 수있는 출력을 제공한다는 것을 알고 있습니다. 그러나 이것은 Mac OSX (Snow Leopard)에서는 작동하지 않습니다.

나는 또한 시도 netstat -nr | grep 'default'했지만 route -nLinux / Unix에서 생성 된 것과 같은 더 깨끗한 출력을 원했습니다 . netstat -nr모든 인터페이스와 이에 대한 기본 게이트웨이를 나열합니다.

올바른 방향에 대한 모든 종류의 제안이나 힌트를 주시면 감사하겠습니다.


3
수퍼 유저로 마이그레이션 하시겠습니까?
JMD

3
참고로 Option + 상태 표시 줄의 WiFi 아이콘을 클릭 할 수 있습니다. 게이트웨이를 포함한 추가 정보가 표시됩니다.
Petr Újezdský

답변:


189

다음과 같이 시도 할 수 있습니다.

route -n get default

GNU / Linux route -n(또는 심지어 ip route show) 와 같지는 않지만 기본 경로 정보를 확인하는 데 유용합니다. 또한 패키지가 특정 호스트로 이동하는 경로를 확인할 수 있습니다. 예

route -n get www.yahoo.com

출력은 다음과 유사합니다.

   route to: 98.137.149.56
destination: default
       mask: 128.0.0.0
    gateway: 5.5.0.1
  interface: tun0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0

IMHO netstat -nr가 필요합니다. MacOSX의 네트워크 유틸리티 앱 (*)조차도 netstat의 출력을 사용하여 라우팅 정보를 표시합니다. 라우팅 테이블 정보를 표시하는 네트워크 유틸리티 스크린 샷

이게 도움이 되길 바란다 :)

(*) 다음으로 네트워크 유틸리티를 시작할 수 있습니다. open /Applications/Utilities/Network\ Utility.app


감사. Time Warner의 모뎀이 내 라우터가 사용하던 IP를 원한다고 결정하고 ifconfig가 게이트웨이에 대해 거짓말을했을 때 새 집에서 몇 시간을 절약했습니다.
Chris Doggett

38

연결된 IP 주소 목록을 얻으려면 netstat 명령을 사용할 수 있습니다.

netstat -rn 

이것은 긴 IP 주소 목록을 제공하며 필요한 필드를 찾기가 쉽지 않습니다. 샘플 결과는 다음과 같습니다.

Routing tables
Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.195.1      UGSc           17        0     en2
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              1   254107     lo0
169.254            link#7             UCS             0        0     en2
192.168.195        link#7             UCS             3        0     en2
192.168.195.1      0:27:22:67:35:ee   UHLWIi         22      397     en2   1193
192.168.195.5      127.0.0.1          UHS             0        0     lo0

More result is truncated.......

게이트웨이의 IP 주소는 첫 번째 줄에 있습니다. 첫 번째 열에 기본값이있는 하나.

선택한 결과 행만 표시하려면 netstat 와 함께 grep 명령을 사용할 수 있습니다.

netstat -rn | grep 'default'

이 명령은 기본값이있는 결과 행을 필터링하고 표시합니다. 이 경우 다음과 같은 결과를 볼 수 있습니다.

default            192.168.195.1      UGSc           14        0     en2

게이트웨이의 IP 주소 만 찾고 싶은 경우 awk를 사용하여 결과를 추가로 필터링 할 수 있습니다 . awk 명령은 입력 결과의 패턴과 일치하고 출력을 표시합니다. 이는 일부 프로그램 또는 배치 작업에서 결과를 직접 사용할 때 유용 할 수 있습니다.

netstat -rn | grep 'default' | awk '{print $2}'

awk 명령은 텍스트에서 결과 의 두 번째 열일치시키고 인쇄하도록 지시 합니다. 따라서 최종 결과는 다음과 같습니다.

192.168.195.1

이 경우 netstat는 모든 결과를 표시하고 grep은 'default'가있는 행만 선택하며 awk는 패턴과 더 일치하여 텍스트의 두 번째 열을 표시합니다.

마찬가지로 route -n get default 명령을 사용하여 필요한 결과를 얻을 수 있습니다. 전체 명령은

route -n get default | grep 'gateway' | awk '{print $2}'

이 명령은 Linux, Unix 시스템 및 MAC OS에서 잘 작동합니다.


8

grep 유틸리티는 필요하지 않습니다. Awk는 모든 것을 할 수 있습니다 :

    netstat -rn | awk '/default/ {print $2}'
      192.168.128.1

Parallels (또는 VPN 또는 둘 다)와 같은 것이 실행중인 경우 두 개 이상의 기본 라우팅 항목이 표시 될 수 있습니다. 위의 'grep'제안을 사용하는 경우에도 마찬가지입니다.

    netstat -rn | awk '/default/ {print $2}'
      192.168.128.1
      link#12

    netstat -rn | awk '/default/ {print $2}'                             
      utun1
      192.168.128.1
      link#12

추가 사용을 위해 변수 (_default)를 설정하려면 ( 'default'에 대해 하나의 항목 만 가정) .....

    _default=$( netstat -rn inet | awk '/default/ {print $2}' ) # I prefer $( ... ) over back-ticks

기본 경로가 여러 개인 경우 다음을 사용합니다.

    netstat -rn | awk '/default/ {if ( index($6, "en") > 0 ){print $2} }'
      192.168.128.1

이 예제는 Mavericks Terminal.app에서 테스트되었으며 OSX에만 해당됩니다. 예를 들어, 다른 * nix 버전은 이더넷 / 무선 연결에 'en'이 아닌 'eth'를 자주 사용합니다. 이것은 또한 ksh로만 테스트됩니다. 다른 셸에는 약간 다른 구문이 필요할 수 있습니다.


3

이 라인을 따라 뭔가를 사용할 것입니다 ...

 netstat -rn | grep "default" | awk '{print $2}'

Objective-C 프로그래밍에서 이것을 어떻게 달성 할 수 있습니까? 이것에 대한 어떤 frameork 있는가
MacDeveloper

0

시스템 환경 설정 사용 :

1 단계 : Apple 아이콘 (화면 왼쪽 상단)을 클릭하고 시스템 환경 설정을 선택합니다.

2 단계 : 네트워크를 클릭합니다.

3 단계 : 네트워크 연결을 선택한 다음 고급을 클릭합니다.

4 단계 : TCP / IP 탭을 선택하고 라우터 옆에 나열된 게이트웨이 IP 주소를 찾습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.