init script
This commit is contained in:
parent
33488d8073
commit
32fe61a20d
1 changed files with 52 additions and 0 deletions
52
script.py
Normal file
52
script.py
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
from scapy.all import ICMP, IP, Dot1Q, Ether, sendp, AsyncSniffer, wrpcap
|
||||||
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
a = AsyncSniffer(iface="enp5s0d1", filter="icmp")
|
||||||
|
a.start()
|
||||||
|
for i in tqdm(range(0, 4095)):
|
||||||
|
sendp(
|
||||||
|
Ether(dst="00:02:c9:27:10:73", src="00:f0:cb:ef:e0:3b")
|
||||||
|
/ Dot1Q(vlan=i)
|
||||||
|
/ IP(dst="10.0.45.45", src="10.0.45.5")
|
||||||
|
/ ICMP(id=i),
|
||||||
|
iface="enp2s0",
|
||||||
|
verbose=False,
|
||||||
|
)
|
||||||
|
print("Wrapping up and waiting for last packets")
|
||||||
|
sleep(1)
|
||||||
|
plist = a.stop()
|
||||||
|
|
||||||
|
seen = [False for i in range(4095)]
|
||||||
|
icmpid = [False for i in range(4095)]
|
||||||
|
|
||||||
|
def pprint(seen):
|
||||||
|
last = None
|
||||||
|
s = ""
|
||||||
|
for k, v in enumerate(seen):
|
||||||
|
if v and last is None:
|
||||||
|
last = k
|
||||||
|
s += str(k)
|
||||||
|
if not v and last is not None:
|
||||||
|
if k-1 == last:
|
||||||
|
s += ","
|
||||||
|
else:
|
||||||
|
s += f"-{k-1},"
|
||||||
|
last = None
|
||||||
|
if last is not None and last < k:
|
||||||
|
s += f"-{k}"
|
||||||
|
return s + "\n"
|
||||||
|
|
||||||
|
|
||||||
|
for p in plist:
|
||||||
|
if Dot1Q in p:
|
||||||
|
vlan = int(p[Dot1Q].vlan)
|
||||||
|
seen[vlan] = True
|
||||||
|
if ICMP in p and p[ICMP].id == vlan:
|
||||||
|
icmpid[vlan] = True
|
||||||
|
|
||||||
|
print("Icmp correspondance")
|
||||||
|
print(pprint(icmpid))
|
||||||
|
print("Seen vlans")
|
||||||
|
print(pprint(seen))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue