IT

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

lottoking 2020. 7. 20. 07:16
반응형

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


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

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

올바른 방향으로 어떤 종류의 제안이나 힌트를 주시면 감사하겠습니다.


당신은 시도 할 수 있습니다 :

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


관련된 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에서 잘 작동합니다.


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로만 테스트됩니다. 다른 쉘은 약간 다른 구문이 필요할 수 있습니다.


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

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

참고 URL : https://stackoverflow.com/questions/6782658/how-to-get-default-gateway-in-mac-osx

반응형