X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=hdw-sniff.c;h=f6a8bc9126eea53f205da56b0339c3eab1529c41;hb=23d7b1c1fb8a1806fd7823528a728ca12220e527;hp=8f11c82f946f8815f46be13b3d031d094e882916;hpb=a1ec80dc19c6d11ac909b4aed79a1f8fc845ce0f;p=my-code%2Fhdw-sniff.git diff --git a/hdw-sniff.c b/hdw-sniff.c index 8f11c82..f6a8bc9 100644 --- a/hdw-sniff.c +++ b/hdw-sniff.c @@ -9,6 +9,8 @@ /* IEEE 802.3 stuff -- i will concentrate on .11 stuff before! */ #include +#include /* ip */ +#include /* in_addr */ /* IEEE 802.11 stuff -- will become one include later ... */ #include "ieee80211.h" /* from hunz's aeolus, short hostap_wlan.h */ @@ -26,6 +28,7 @@ int main(int argc, char *argv[]) { const u_char *package; struct pcap_pkthdr pcap_header; struct ethhdr *e_hdr; + struct ip *ip_hdr; struct ieee802_11_hdr *w_hdr; /* parse the arguments */ @@ -58,12 +61,14 @@ int main(int argc, char *argv[]) { } /* is ieee802.11 ? -- we assume yes :) */ - - + /* ... */ + + + /* ieee802.3 */ /* ethernet */ e_hdr=(struct ethhdr *)package; /* what types ? */ - printf("types = "); + printf("type = "); printf("%x ",ntohs(e_hdr->h_proto)); printf("dest_addr = "); for(i=0;ih_source+i),((i==ETH_ALEN-1)?"\n":":")); + /* IP ? */ if(ntohs(e_hdr->h_proto)==ETH_P_IP) { printf("ip protocol: "); - // printf(" + ip_hdr=(struct ip *)(package+sizeof(struct ethhdr)); + printf("version = %x ",ntohs(ip_hdr->ip_v)); + printf("header_length = %x \n",ntohs(ip_hdr->ip_hl)); + printf("service = %x ",ntohs(ip_hdr->ip_tos)); + printf("total_length(dec.) = %d \n",ntohs(ip_hdr->ip_len)); + printf("ip_addresses: source = "); + printf("%s\tdestination = %s\n",inet_ntoa(ip_hdr->ip_src), + inet_ntoa(ip_hdr->ip_dst)); + + } - printf("rest:\n"); + printf("all_hex_dump:\n"); for(i=sizeof(struct ethhdr);i