Linux 라우팅 테이블을 조작하는 데 사용할 수 있는 API가 있습니까? 소켓에서 수신 대기한 다음 그에 따라 라우팅 테이블을 수정하는 프로그램을 작성하고 싶습니다. 간단한 코드이지만 API가 필요합니다.
답변1
당신은 그것을 사용할 수 있습니다 Netlink
. ~에서위키피디아,
Netlink는 Linux 커널 공간과 사용자 공간 프로세스 간에 다양한 네트워크 정보를 전송하도록 설계되었습니다. iproute2와 같은 네트워크 유틸리티는 Netlink를 사용하여 사용자 공간에서 Linux 커널과 통신합니다. Netlink는 사용자 공간 프로세스를 위한 표준 소켓 기반 인터페이스와 커널 모듈을 위한 내부 커널 API로 구성됩니다. ioctl의 보다 유연한 후속 버전으로 설계되었습니다. 처음에 Netlink는 AF_NETLINK 소켓 제품군을 사용했습니다.
저는 개인적으로 iptables
스크립트 자체에서 규칙/경로를 지정할 수 있기 때문에 이와 같은 작업에는 bash 스크립트를 사용하는 것을 선호합니다. C와 같은 프로그래밍 언어를 사용하는 경우 system
프로그램에서 반환 값을 호출하고 사용하여 작업을 수행할 수 있습니다.
라는 API가 있습니다.도끼에서 얻을 수 있습니다여기