제목 그대로입니다.

같은 결과를 낼 수 있는 내부함수가 있는지 해서요

exec 류를 사용안할려고 하거든요.

답변 기다릴게요

좋은 하루 되세요

========================================================================================================

ifconfig, route 모두 ioctl을 사용하여 필요한 값들을 변경합니다.

google에서 ioctl 관련 검색하시면, ifconfig, route에서 필요한 ioctl 인자값을 찾으실 수 있습니다.

이런거 하실때는 소스 보시는게 가장 좋은 방법 입니다.

다 아시겠지만, ifconfig, route는 net-tool 패키지에 있습니다.

보다 간결한 소스를 원하시면 busybox의 ifconfig및 route 부분을 보시면

찾고자 하는 해답을 찾으실 수 있습니다.

========================================================================================================

네트워크 자료마다 커널과 통신하는 방법이 다릅니다.

네트워크 인터페이스의 경우, PF_INET 타입으로 socket 을 만든후, ioctl 함수를 사용하면 됩니다. 그런데 ioctl 의 경우, 해당하는 자료의 입출력에 대해서 일일이 정의를 해야하니 유연성이 떨어지게 됩니다.

그래서 라우팅에 관련된 정보는, 이광우님 말씀처럼 PF_NETLINK 타입의 socket 을 만든후, netlink protocol 에 따라서 자료를 주고 받게 되죠. 이 경우에는 ioctl 을 따로 만들필요없이 recv, send 함수를 사용하시면 됩니다.

참고로, 패킷필터링을 하는 경우는 PF_PACKET 타입의 socket 을 사용하게 됩니다.




출처 : http://kldp.org/node/22842


WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,