I'm running tcpdump on an Amazon EC2 instance to monitor HTTP traffic going to Nginx (this is just a test box, the only resource is the example test page).

Running tcpdump with the command

```
# tcpdump -vn -i any port 80

```

shows the packets from a browser's request to the site, but shows **nothing** when accessing the page using a Python script (using the Requests library) or with manually crafted packets (Scapy). 

* There's no local firewall running and the Security groups are properly set up.
* The scripts work properly: I can capture the transactions in tcpdump on the local end easily enough, and they return the page with status 200 OK.
* Saving the packets directly to a file (-w) also makes no difference, ruling out buffering issues (I believe?)
* I've also tried seeing if [VLANs](http://security.blogoverflow.com/2012/08/misadventures-with-tcpdump-filters/) are causing the issue, but no luck; grepping for "80" still gives no results.

Questions:

1. What could be causing tcpdump to miss these quite specific packets that are **definitely** getting through the firewall to Nginx and back out again?
2. Why are packets from Firefox being seen whilst packets sent from the scripts slip by?

Thank you