You are using iptables, which is not intended to do this. iptables is designed to log locally, pertaining to the local machine. By spanning the port, you have placed the machine in the same broadcast domain (you really haven't, but that is how your machine will view it) as the machine on the spanned port. If your interface is running in promiscuous mode, it will
ignore the destination MAC address, buffer and process all frames on the wire. iptables, however, will ignore these requests, because the destination IP is not the one that the kernel is running. If you want to log frames on the wire, you should be exploring the use of the very granular filter options with tcpdump, or even better, ethereal (
http://ethereal.org)