실행할 때 route -n
표시된 정보가 정확히 어디에서 검색됩니까?struct
실행을 시도했지만 strace route -n
저장된 정확한 위치를 찾는 데 도움이 되지 않았습니다.
답변1
route
또는 유틸리티는 ip
이름이 지정된 의사 파일 시스템에서 정보를 얻습니다 procfs
. 일반적으로 에 설치됩니다 . 커널의 IP 라우팅 테이블을 볼 수 있는 /proc
파일이 있습니다 . /proc/net/route
대신 라우팅 테이블을 인쇄할 수 있지만 cat
IP 주소는 16진수로 저장되므로 라우팅 유틸리티는 사람이 읽을 수 있는 출력 형식을 지정합니다.
이 파일은 단순한 파일이 아닙니다. proc 파일 시스템의 모든 파일처럼 파일을 열고 읽으려고 할 때 항상 생성됩니다.
이 파일이 어떻게 작성되는지 알고 싶다면 커널 소스 코드를 살펴보세요.기능출력 라우팅 테이블. 너는 에서 본다2510호선, 라우팅 테이블의 제목을 인쇄합니다. 라우팅 테이블은 주로 fib_info
헤더 파일에 정의된 구조에 있는 것으로 보입니다.ip_fib.h, 98행.