기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요?
무선랜(rt3072)을 이용하여 주변 무선AP를 검색한 후 udhcpc(DHCP 클라이언트)를 이용하여 IP를 얻어온후 AP의 게이트웨이 주소 값을 얻어오려합니다.
busybox 1.14.0의 udhcpc를 사용하고 있으며,
Got valid DHCP packet 을 확인 후 IP 값은 잘 나오는데, 게이트웨이 값은 안나오네요.
어떻게 얻어올수 있나요?
어떤 옵션처리를 해주어햐 하나요?
Linux 2.6.21.5-MEP6410
/) /)
(='.'=)
login[2339]: root login on 'tts/0'
root@mep6410:~# udhcpc -i ra0
### adapter index 4
### adapter hardware address 00:0c:43:31:93:26
udhcpc (v1.14.0) started
### vfork'ing and exec'ing /usr/share/udhcpc/default.script
### entering raw listen mode
### opening raw socket on ifindex 4
### got raw socket fd 5
### attached filter to raw socket fd 5
### bound to raw socket fd 5
### adding option 0x35
### adding option 0x3d
### adding option 0x3c
### adding option 0x39
Sending discover...
### Waiting on select...
### Got valid DHCP packet
### adding option 0x35
### adding option 0x3d
### adding option 0x3c
### adding option 0x32
### adding option 0x36
Sending select for 192.168.123.147...
### Waiting on select...
### Got valid DHCP packet
Lease of 192.168.123.147 obtained, lease time 86400
//packet을 찍어보았습니다. IP값(yiaddr)은 잘 나오는데 게이트웨이값(giaddr) 및 다른 addr 들은 안나오네요.
yiaddr 192.168.123.147
giaddr 0.0.0.0
ciaddr 0.0.0.0
siaddr 0.0.0.0
### vfork'ing and exec'ing /usr/share/udhcpc/default.script
### entering none listen mode
root@mep6410:~#
고도리님 답변 감사드립니다.
살펴보라고 말씀하신 udhcpc configuration file이 /usr/share/udhcpc/default.scrip를 말씀하시는 건가요?
저는 script를 사용하지 않는데 어떤 것을 말하는 건지요?
그리고 netstat -rn을 하면 아래와 같이 나옵니다.
root@mep6410:/usr/share/udhcpc# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 ra0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.1 이 eth0 의 게이트웨이로 잡힌걸로 봐서 유선랜과 무선랜이 둘다 장착되어 있는 걸로 보입니다.
이미 게이트웨이가 유선랜에서 잡혀 있다면 무선랜으로 다시 게이트웨이가 잡혀봐야 소용이 없습니다.
라우터 장비가 아닌 이상 여러개의 게이트웨이가 잡히는 건 패킷이 들어오고 나가는 경로를 꼬이게 만들뿐이죠.
무선만 사용하실꺼라면 현재 잡혀 있는 유선랜 셋팅은 전부 내린다음 무선랜만 올려서 다시 접속해 보시기 바랍니다.
게이트웨이를 확인하는 방법은 netstat -rn 로 똑같습니다. 다만 무선랜으로 게이트웨이가 잡히면 끝에 eth0 가 아니고 ra0 가 나오겠죠.
> 다른 AP의 게이트웨이 주소가 왜 필요한지는 모르겠습니다만, 그건 거의 해킹에 가까운 일인데요?
참고로 위 얘기는 무슨 말인가 하면, 집에 있는 무선공유기 이외에 다른 사무실이나 다른 가정집에 있는 무선공유기에 접속하게 되면 게이트웨이 정보 뿐만 아니라 다른 정보들도 수집이 가능합니다. 이것 때문에 "구글코리아"가 압수 수색을 당한바(?) 있습니다.
물론 다른 사용자가 접속하지 못하도록 암호를 걸어두거나 기타 보안조치를 하는게 상식입니다만, 그런것들에 익숙하지 않은 사용자들이 대부분 무선공유기에 암호를 걸어놓지 않습니다. 그러므로 얼마든지 외부에서 접속이 가능하고 일단 접속이 되면 그 네트웍을 통해서 나가고 들어오는 암호화 되지 않은 패킷들을 마음만 먹으면 언제든지 들여다 볼수 있습니다.
암호를 걸어두던 아니던 게이트웨이 정보는 대부분 그냥 얻어집니다만 게이트웨이 정보도 그냥 간단한 IP주소 이외의 정보가 됩니다. 왜냐하면 요즘 게이트웨이 IP주소와 GPS좌표를 매칭시켜서 대충IP만 알아도 내가 지도상에 어디쯤에 위치해 있는지 알아내는 서비스를 포탈사이트들에서 하고 있기 때문입니다.
더 상세한 얘기를 했다간 태클(?)이 들어올수도 있기 때문에 이쯤에서 접겠습니다. ^^;
일단 udhcpc관련 configuration file을 잘 살펴보시고요....
netstat -rn 해서 함 확인해 보시기 바랍니다. 정확하게 어떻게 나오는지요.....