/ proc에서 인터페이스의 IPV4 주소를 얻는 방법


24

네트워크 인터페이스 /proc의 MAC 주소를 얻을 수있는 방법과 유사하게 네트워크 인터페이스의 IP 주소를 가져 오는 깨끗하고 간단한 방법이 있습니까?
이상적으로는 cat을 입력 /proc/<foo>/{interface_name}하고 IPv4 주소를 가져옵니다.

차라리 이외의 것을 실행하지 않을 것 cat입니다.

답변:


23

/proc디렉토리 아래의 Forwarding Information Base 테이블에서 IPv4 주소를 찾을 수도 있습니다./proc/net/fib_trie

테이블은 단순한 일을 꽤 이해할 수있다 cat, 첫째 오는 Main:다음과Local:

cat /proc/net/fib_trie

또는 네트워크, IP 주소 및 넷 마스크를 보려면 :

cat /proc/net/fib_trie | grep "|--"   | egrep -v "0.0.0.0| 127."
       |-- 193.136.1.0
       |-- 193.136.1.2
    |-- 193.136.1.255
       |-- 193.136.1.0
       |-- 193.136.1.2
    |-- 193.136.1.255       

1
각 IP 주소에 대한 인터페이스를 얻는 방법이 있습니까?
razeh

미리 정해진 순서대로 나타납니다. 아마도 우선 순위이지만, 그것은 바뀔 수 있습니다. 그 외에는 요
Rui F Ribeiro

2
/proc/net/fib_trie직장에서 여기 내 RHEL 6.6 시스템에서 사용할 수 없습니다
villapx

1
@villapx fib_trie는 2.6 커널에 없습니다.
Rui F Ribeiro

fib_trie에서 ip 주소를 인터페이스와 연결할 방법이 없습니다.
ZioByte

0
$ awk '/32 host/ { print f } {f=$2}' <<< "$(</proc/net/fib_trie)"

2
U & L에 오신 것을 환영합니다! 왜 <<< "$(</proc/net/fib_trie)"간단한 대신에 </proc/net/fib_trie?
fra-san
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.