Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jun 2004 03:49:11 -0700 (PDT)
From:      kamal kc <rosey_kc@yahoo.com>
To:        freebsd-net@freebsd.org
Subject:   newbie: ethernet, ip header proble
Message-ID:  <20040625104911.69479.qmail@web13004.mail.yahoo.com>

next in thread | raw e-mail | index | archive | help
Hi i am new to this mailing list.
 
I have written a program to capture packets using pcap library routines. I have a FreeBSD 5.1. The problem I faced was I successfully captured packets and parsed to ethernet header and ip header.
 
i present a section of code how i did it.
 
--
char *ptr;
ptr=pcap_next(.....);
 
struct ether_header *eth;
struct ip *ip;
 
eth=(struct ether_header *)ptr;  // datalink type DLT_EN10MB
ptr+=14; // the size of the ether_header being 14 bytes; 
 
ip=(struct ip *)ptr;
 
printf("\n %s %s", ether_ntoa(eth->ether_dhost), ether_ntoa(eth->ether_shost));
printf("\n %s %s", inet_ntoa(ip->ip_src), inet_ntoa(ip->ip_dst));
 
----------------
 
Now the problem is that the ethernet destination and sender host is printed the same.
it is equal to that of the sender MAC address(linux) when ICMP packets (by ping utility)
is sent to the host(FreeBSD) running the program.
 
Also that the ip adresses printed is the same as the sender ip address(ie linux).
 
The program is run on host with FreeBSD.
 
The ip address of the computers are: 
   192.168.1.10  has Linux
   192.168.1.11  has FreeBSD
 
I couldn't think of a solution as i guess the coding was alright.
 
Anybody could help
 
Kamal

		
---------------------------------
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040625104911.69479.qmail>