Dolphin UserPreferences
 
Help Info Print View Search Diffs Edit
 인덱스   찾기   Freeboard   Subjectless   Images   최근글 

참고 http://www.netstumbler.com/

오후 3:20 2005-07-04
- wmi 관련 c# code
using System;  
using System.Management;  
class App {  
 public static void Main() {  
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(  
@"root\WMI",  
   "select Ndis80211ReceivedSignalStrengt­h from  
MSNdis_80211_ReceivedSignalStr­ength where active=true");  
  foreach (ManagementObject mo in searcher.Get()) {  
// this should return a signed int, predefined thresholds define signal  
textual signal strength (this can be manufactor dependent)  
   Console.WriteLine("{0}",mo["Nd­is80211ReceivedSignalStrength"­]);  
  }  
 }  

http://www.ndis.com/faq/QA01050301/default.htm
notes
http://groups.google.co.kr/group/microsoft.public.win32.programmer.networks/browse_thread/th

read/4c03c908c9be1378/d43f267f09022662?q=wmi+ap+channel&rnum=2&hl=ko#d43f267f09022662
Get SSID and Channel ; 채널은 곧장 얻을 수 없음 -> frequency를 변환해야 함
Ndis80211Configuration?.DSConfig is the frequency.
802.11 spec을 찾을 것
http://www.hautespot.net/technology/Reference/channelalyout.html


ssid/ chanel/ rssi/ snr /mac address/ip address

- 선택할 수 있는 802.11 네트워크 어댑터 배열
(이건 그대로 쓰자)
- 현재 선택한 어댑터의 connect 여부 / mac address / ip address / rssi
(ip / rssi는 연결되었을 경우에만)
- 현재 선택한 어댑터에서 인식한 ap
ssid/ chanel/ rssi/ snr(?) 신호대잡음비 /mac address/ip address

quality/mode는 의미 없음인가..

OID_CO_GET_ADDRESSES


http://www.pcausa.com/Utilities/ndistools.htm#OIDScope
http://www.pcausa.com/Utilities/macaddr2.htm

http://www.0xdeadbeef.info/code/p2s.c
http://mail-index.netbsd.org/tech-net/2003/08/02/0000.html


ndis 드라이버를 통해 wireless 신호 세기 알아내기
Wireless Operational Characteristics 참조 ; ms-

help://MS.VSCC.2003/MS.MSDNQTR.2004OCT.1033/network/hh/network/210wlsod_99c74251-4676-46eb-

b423-8c580d136398.xml.htm

OID_WW_GEN_CHANNEL_ID
OID_WW_GEN_RSSI ; rssi 신호 세기..

오전 6:37 2005-06-19

추산 알고리즘 두 개 구현.. 하지만 각 원의 교점에서 신호크기 비율로 계산해주는 놈으로 낙착.
ap가 괜찮은 녀석이 있으면 성능이 좋아질 것 같기도 하구만... 쩝.

오전 12:31 2005-06-17
버퍼 사이즈 관련 버그 수정 및 ssid/macaddr 값의 쌍으로 각 ap를 구분하도록 변경.

오전 11:59 2005-06-15
결국 버그 수정.
드라이버 갖고 장난치지 말자... - -)

오전 12:58 2005-06-15
며칠동안 삽질.
애초에 어플리케이션을 c#으로 만들기를 잘못했다는 생각이 파도처럼 밀려오지만 이미 늦었다.

오전 2:43 2005-06-10
클래스를 만들어서 아이템 단위로 마구 가져오게 다시 수정.
쿼리 수 4천대로 증가.

중위값으로 통계 예제...
differential method 구현...
화면 출력 모듈...


ap 없을 때 뻑나는 것 같음. 테스트 요망.

오전 2:46 2005-06-09
결국 문자열 배열을 dll을 통해 전달받는 것은 포기.
무조건 배열 크기를 1로 초기화해버린다...
게다가 c에서는 동적으로 배열을 생성하는게 원래 불가능한건가? ;;
malloc으로 잡으면 하나의 크기로 인식하지를 않나 씨삥뽕...

그냥 dll에서 delimeter를 넣어 하나의 문자열로 리턴해주면
메인 프로그램에서 해당값을 받아다가 split하는 방법을 사용하기로 했음.
그럼에도 불구하고 1초당 쿼리 수는 700회에 육박 (감동이다..)

어차피 실제 통계에 들어가도 1초에 10회 정도만 샘플링해도 되지 않을까..
이제야 프로그램이 뭔가 본 궤도에 올랐고나..

오전 2:47 2005-06-08
유저 모드 드라이버를 만든 다음, 그것을 바탕으로 후려 들어간다.

단순히 sys 파일을 컴파일한 후, 정적 라이브러리처럼 링킹해서 사용하면 된다.
해당 드라이버를 이용해서 만든 모듈은 그대로 가져와서 vs.net 같은 ide 환경에서 작업할 수 있다.
(include 경로 등만 맞춰주면 된다)

user mode i/o 방식은 IOCTL_NDIS_QUERY_GLOBAL_STATS와는 달리 리턴한 버퍼의 맨 처음 4바이트가 oid값이다.
헷갈리지 말자.

오후 8:59 2005-06-04
보름간 헛짓거리.
다시 시작하자.

유저 모드에서 ndis에 접근하기 위해서 필요한 것들 :
http://www.ndis.com/faq/QA10290101.htm

ndisuio.sys는 사용되고 있는 것인가!
( c:\\windows\\systems\\drivers에 있기는 한데 )

오전 11:24 2005-05-19
무한갱신쿼리를 발사하는 샘플 프로토콜 드라이버 제작.
... 근데 이거 생각보다 리소스... 먹잖아... 2%씩이나?

어쨌든 되는 걸로 가자.

오전 1:25 2005-05-19
protocol driver를 사용해야 하는 난감한 상황에 봉착.
일단 샘플 드라이버를 사용해보고 어떻게 할 지 생각해보도록 하자 으음..

오후 11:48 2005-05-18
현재 deviceiocontrol - IOCTL_NDIS_QUERY_GLOBAL_STATS 컴보로 oid 쿼리를 날리고 있음.
bbsid list는 어떻게든 가져올 수 있으나 list_scan이 먹질 않아 개고생.

도와줘요 Marius..


프로그래밍분류


PythonPowered EditText of this page (last modified 2006-01-09 14:26:57)
FindPage by browsing, searching, or an index
Or try one of these actions: DeletePage, DeleteUploadedFile, LikePages, SpellCheck, UploadFile