Been looking into AirPort lately, Big MacOSX uses AirPort to suport monitor mode. We cant begin to compile AirPort without the closed source Apple80211 private framework, which iOS does not come with. Fortunatly GeoHot, Pumkin, and Lokkju worked on this slightly a while ago here:
http://code.google.com/p/iphone-wireless/ And you can grab the source code of the Apple80211.framwork with svn:
svn checkout http://iphone-wireless.googlecode.com/svn/trunk/ iphone-wireless-read-onlyIt compiles nicely, I have found that the Apple80211.h in GeoHotz version is alot smaller than the one that comes with AirPort source. Although if you replace the header that comes with GeoHotz Apple80211 hack with the one that comes with AirPort source the framework still compiles nicley and is the same size.
here you can download the open source airport:
http://distfiles.macports.org/airport/airport.tar.gzThe Makefile gave me errors so I fixed it here:
CC= gcc
CFLAGS= -Wall -Os
LDFLAGS= -lobjc -framework Foundation -framework CoreFoundation -F/System/Library/PrivateFrameworks -framework Apple80211
all: airport
airport: airport.o hermes_info.o
$(CC) $(CFLAGS) $(LDFLAGS) airport.o hermes_info.o -o airport
airport.o: airport.m
$(CC) $(CFLAGS) $(LDFLAGS) airport.m -o airport.o
hermes_info.o: hermes_info.m
$(CC) $(CFLAGS) $(LDFLAGS) hermes_info.m -o hermes_info.o
clean:
/bin/rm -f $(OBJS) *~ errs.* core a.out *.o
ci:
ci -l *.c *.h *.m Makefile
SRCFILES:=airport/Makefile airport/airport.m airport/Apple80211.h
SRCFILES:=$(SRCFILES) airport/hermes_info.m airport/hermes_info.h airport/hermes_more.h
SRCFILES:=$(SRCFILES) airport/linux_hermes_rid.h
tar:
(cd ..; tar zcvf airport/airport.tar.gz $(SRCFILES))
I actually have Kismet semi-working after installing Apple80211. The kismet_server is giving me trouble so I used netcat to open a port and connect just for show:


Thats all it does

.
We really should look at AirPort though to achive monitor mode. Changes to Apple80211 main.c will have to be made though. I all out of magic tricks.