Mac 컴퓨터에서 기본 게이트웨이를 검색해야합니다. Linux에서는 route -n이이 정보를 쉽게 검색 할 수있는 출력을 제공한다는 것을 알고 있습니다. 그러나 이것은 Mac OSX (Snow Leopard)에서는 작동하지 않습니다.
나는 또한 시도 netstat -nr | grep 'default'
했지만 route -n
Linux / 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}'
답변
시스템 환경 설정 사용 :
1 단계 : Apple 아이콘 (화면 왼쪽 상단)을 클릭하고 시스템 환경 설정을 선택합니다.
2 단계 : 네트워크를 클릭합니다.
3 단계 : 네트워크 연결을 선택한 다음 고급을 클릭합니다.
4 단계 : TCP / IP 탭을 선택하고 라우터 옆에 나열된 게이트웨이 IP 주소를 찾습니다.