raw socket 을 이용한 캡쳐

medut의 이미지

무선랜 캡쳐 프로그램을 만들려고 하는데

raw socket 에 관한것을 찾아 봐도 802.11 이나 802.3 전체를 캡쳐하는게 없어서 그럽니다.

랜카드를 모니터링 모드로 전환후 raw socket을 이용해서 전체 프레임을 캡쳐하는 방법이 없을까요?

tcp, udp, ip는 알겠는데 그 하위계층을 수집할 방법을 찾을수 없네요

아니면 랜카드에 수집되는 모든 패킷을 수집하는 방법이라도 ....답답하네요

haze11의 이미지

raw socket 보다는 pcap library를 이용해서 해보시는 건 어떨까요?
pcap은 wireshark(ethereal)에서 패킷 캡쳐를 위해 사용됩니다.

http://www.tcpdump.org/pcap.htm

cychong의 이미지

일반적인 datagram이나 stream 소켓은 IP header를 사용자 맘대로 구성하거나 수신할 수 없습니다.
이때 사용하는 것이 raw socket입니다. 즉 OSI layer에서 network layer로 한 단계 내려가는 거죠.
802.3이나 802.11 header등은 IP header 아래에 있으므로 raw socket으로는 구성하거나 수신할 수 없습니다.
한단계 더 낮은 socket을 사용해야 하는데 이때 사용하는 것인 packet socket입니다.

아니면 앞의 분이 말씀하신 것처럼 pcap library를 사용하시면 됩니다.
Life with fun...

Life with fun...