Newbie question about sniffing outgoing packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,
I apologize for the (perhaps stupid) question, but I am new to kernel 
internals, and would like to know how can a sniffer read whole packets, I mean 
including the link layer header. In the receive path, this is done in the 
net_rx_action(), but in the transmit path?
I know that there is a function called dev_queue_xmit_nit() for this, but
how can a driver add a link layer header to a packet before this function
gets called? The hard_start_xmit() of the driver is, in fact, called after
the dev_queue_xmit_nit(), (in the function dev_queue_xmit() ).
I know ethernet headers can be captured, e.g. by Ethereal, but they are taken 
from a cache and added in the ip layer, if I remember well, before the 
dev_queue_xmit() is called.
I think I'm missing something important about the subject, but I hope someone 
will answer me.
Thank you in advance,

Lanfranco

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux