Python Forum
Need Help W/ Simple Packet Capture Code - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Networking (https://python-forum.io/forum-12.html)
+--- Thread: Need Help W/ Simple Packet Capture Code (/thread-16630.html)



Need Help W/ Simple Packet Capture Code - Caesars_10th - Mar-07-2019

Hey all,

I need help writing a code that can capture packets (pcap) from a dedicated port. All I need is for the code to capture the packet, timestamp it using the datetime module, and write it to a pcap or even a text file.

I don't really know how to capture packets though. I am guessing I can use Scapy, PyShark, or PyPcap. I'm just hoping someone else out there knows a good deal about this.


I'm thinking:

time = datetime.datetime.now()
packet = #capture command...
f.write(str(time) + '\n' + str(packet)
Does anyone know the capture command? Can it work like this?

I'm ok with doing a packet capture that saves all the packets to a pcap file for later use, I just need the timestamp to be from the datetime module because I am reading serial data in using this time source.

Thanks for the help!


RE: Need Help W/ Simple Packet Capture Code - Larz60+ - Mar-08-2019

do you need it in a python script?
wireshark: https://www.wireshark.org/
is excellent at capturing all network activity


RE: Need Help W/ Simple Packet Capture Code - Caesars_10th - Mar-11-2019

Larz60+ I have used Wireshark! IT IS very awesome.

However, I DO need to write a python code. I would like to record all my sensors using python.


RE: Need Help W/ Simple Packet Capture Code - Larz60+ - Mar-11-2019

you can search through these packages: https://pypi.org/search/?q=packet+capture
or if you want to do it from scratch:
http://www.bitforestinfo.com/2017/01/how-to-write-simple-packet-sniffer.html
or https://medium.com/python-pandemonium/using-pyshark-in-python-to-create-promiscuous-sniffer-ddb5217f3d5
or https://www.binarytides.com/python-packet-sniffer-code-linux/