arp table 검색 관련 질문 입니다.

swunk의 이미지

시스템에 있는 arp table 값을 가져오고자 합니다.

ioctl() 함수에 cmd 값으로 SIOCGARP 를 주면 arp table이 넘어 오는 줄 알고 있었는데..그게 아니네요?...

iocctl()로 SIOCGARP를 인자로 넣어 주고 마지막 인자인 arpreq에 ip 주소를 넣어주면 해당 ip 주소에 맞는 arp 엔트리만 가져 오더군요...

여튼 각설하고
시스템에 있는 arp table값을 가져오려면 어떻게 해야 하나요 ?
예를 들면 arp -a 하면 arp 테이블 값을 가져오는 것 처럼요...
혹시 arp 유틸리티 소스를 구할 수 있을까요 ?

답변 부탁드립니다.

프로그램을 안짜다 짜려니 아주 죽갔습니당...--;

wariua의 이미지

http://bbs.kldp.org/viewtopic.php?p=363784 이 문제는 해결을 하셨나보군요. 해결 내용을 포스팅 해주시면 유사한 어려움을 겪는 이들에게 도움이 되지 않을까 싶습니다.

arp 소스는 net-tools 패키지에 있습니다... 만, 요약하자면 /proc/net/arp 파일입니다.

$PWD `date`

swunk의 이미지

http://bbs.kldp.org/viewtopic.php?p=363784 이 문제는 해결을 하셨나보군요. 해결 내용을 포스팅 해주시면 유사한 어려움을 겪는 이들에게 도움이 되지 않을까 싶습니다. 

arp 소스는 net-tools 패키지에 있습니다... 만, 요약하자면 /proc/net/arp 파일입니다.

포스팅 했습니당...참고 하시고...혹시 제가 잘못 알고 있는 부분이 있다면 답변 주세요...

그리고 net-tools 패키지는 찾아보니깐..rpm으로 존재하던데..rpm 파일에서 소스파일을 추출할 수 있나요 ?

wariua의 이미지

일반 rpm은 바이너리만 들어있습니다. 소스 rpm(이름이 net-tools-X.YY-ZZ.src.rpm 정도 되려나요) 설치해 주시면 /usr/src/{DIST}/SOURCES 디렉터리에 깔립니다. {DIST}는 사용하고 계신 배포판에 따라 달라지겠구요.

혹는 www.freshmeat.net 같은 데서 검색하면 금방 소스를 찾으실 수 있습니다.
http://freshmeat.net/projects/net-tools/

$PWD `date`