#!/usr/bin/env python3
import pyshark
packets_array = []
def counter(*args):
packets_array.append(args[0])
def count_packets():
cap = pyshark.FileCapture('http.cap', keep_packets=False)
cap.apply_on_packets(counter, timeout=10000)
return len(packets_array)
print("Packets number:"+str(count_packets()))
for packet in packets_array:
print(packet)
break
$python3 count_packets.py
Packets number:43
Packet (Length: 62)
Layer ETH:
Destination: fe:ff:20:00:01:00
Address: fe:ff:20:00:01:00
.... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: 00:00:01:00:00:00
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Address: 00:00:01:00:00:00
Layer IP:
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 48
Identification: 0x0f41 (3905)
Flags: 0x40, Don't fragment
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
...0 0000 0000 0000 = Fragment Offset: 0
Time to Live: 128
Protocol: TCP (6)
Header Checksum: 0x91eb [validation disabled]
Header checksum status: Unverified
Source Address: 145.254.160.237
Destination Address: 65.208.228.223
Layer TCP:
Source Port: 3372
Destination Port: 80
Stream index: 0
Conversation completeness: Incomplete (0)
TCP Segment Len: 0
Sequence Number: 0 (relative sequence number)
Sequence Number (raw): 951057939
Next Sequence Number: 1 (relative sequence number)
Acknowledgment Number: 0
Acknowledgment number (raw): 0
0111 .... = Header Length: 28 bytes (7)
Flags: 0x002 (SYN)
000. .... .... = Reserved: Not set
...0 .... .... = Nonce: Not set
.... 0... .... = Congestion Window Reduced (CWR): Not set
.... .0.. .... = ECN-Echo: Not set
.... ..0. .... = Urgent: Not set
.... ...0 .... = Acknowledgment: Not set
.... .... 0... = Push: Not set
.... .... .0.. = Reset: Not set
.... .... ..1. = Syn: Set
Expert Info (Chat/Sequence): Connection establish request (SYN): server port 80
Connection establish request (SYN): server port 80
Severity level: Chat
Group: Sequence
.... .... ...0 = Fin: Not set
TCP Flags: ··········S·
Window: 8760
Calculated window size: 8760
Checksum: 0xc30c [unverified]
Checksum Status: Unverified
Urgent Pointer: 0
Options: (8 bytes), Maximum segment size, No-Operation (NOP), No-Operation (NOP), SACK permitted
TCP Option - Maximum segment size: 1460 bytes
Kind: Maximum Segment Size (2)
Length: 4
MSS Value: 1460
TCP Option - No-Operation (NOP)
TCP Option - SACK permitted
Timestamps
Time since first frame in this TCP stream: 0.000000000 seconds
Time since previous frame in this TCP stream: 0.000000000 seconds
Kind: No-Operation (1)
Kind: No-Operation (1)
Kind: SACK Permitted (4)
Length: 2
TCP Option - No-Operation (NOP)
$