umm i hate to tell you this but there just isnt a way (well kinda). 1) say i preform a man in the middle attack (google it if you dont know) your computer thinks im the router and their's no way to auethenticate im actually the router. 2) If im passively listening to the traffic, say using kismac, i never announce my presence, get an ip adress, or even broadcast a single packet. im just listing and logging.
what you can do to protect your self is 1) vpn to your work or home (don't ask me how i don't know. its just a way to protect yourself) , 2) use wpa encryption to ward off wireless hackers, 3) dont send crap you dont want others to know about in public places.
in the performing the man in the middle attack i would be sending out lots of "arp packets" you could run something like ethereal and monitor the amount of "arp packets" but who hell would want to stare at program and monitor the stuff on it.
sorry about the long post/