diff --git a/scapy/packet.py b/scapy/packet.py
index e3d838087c88ed2a3962d65940a4b384a001df10..a87fc42b4b319d237a73e9fc8110d37f3e68f34b 100644
--- a/scapy/packet.py
+++ b/scapy/packet.py
@@ -46,6 +46,8 @@ class Packet(BasePacket):
         "name",
         # used for sr()
         "_answered",
+        # used when sniffing
+        "direction", "sniffed_on"
     ]
     __metaclass__ = Packet_metaclass
     name = None
diff --git a/scapy/sendrecv.py b/scapy/sendrecv.py
index d9661201842b2161bfb1431cfc9288710398257f..ba921d2a2e65b9030567e40e7285c960b4a88d1b 100644
--- a/scapy/sendrecv.py
+++ b/scapy/sendrecv.py
@@ -618,7 +618,8 @@ interfaces)
     except KeyboardInterrupt:
         pass
     if opened_socket is None:
-        s.close()
+        for s in sniff_sockets:
+            s.close()
     return plist.PacketList(lst,"Sniffed")