VLAN ID aus Ethernetframe extrahieren

Beschreibung: 

 Ein kleines python Script das von einer entzwerkkarte empfangende Pakete die VLAN ID ausliste 

 Das Programm: 

 Abhängigkeiten installieren 

 apt install python3-args python3-scapy 

 Quelltext: 

 import argparse

from scapy.all import *

def extract_vlan_id(packet):

 if packet.haslayer(Dot1Q):

 vlan_id = packet[Dot1Q].vlan

 print(f"VLAN ID found: {vlan_id}")

 else:

 print("No VLAN found")

def main():

 parser = argparse.ArgumentParser(description="Extract VLAN ID from Ethernet frames.")

 parser.add_argument("-d", "--device", type=str, required=True, help="Network interface to listen on")

 args = parser.parse_args()

 print(f"Listening on interface: {args.device}")

 sniff(iface=args.device, prn=extract_vlan_id)

if __name__ == "__main__":

 main()