mirror of
https://github.com/20kaushik02/AUNMS---Network-Monitoring-System.git
synced 2025-12-06 12:44:06 +00:00
Added traceroute function
This commit is contained in:
parent
ce17eb0821
commit
39ee37b9c4
@ -1,4 +1,3 @@
|
|||||||
import sys
|
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
@ -109,7 +108,6 @@ class NetworkMonitor(QMainWindow):
|
|||||||
def packetClear(self):
|
def packetClear(self):
|
||||||
self.actionStart.setEnabled(False)
|
self.actionStart.setEnabled(False)
|
||||||
self.actionStop.setEnabled(True)
|
self.actionStop.setEnabled(True)
|
||||||
self.actionStop.setEnabled(True)
|
|
||||||
|
|
||||||
self.thread.terminate()
|
self.thread.terminate()
|
||||||
self.tableWidget.clearContents()
|
self.tableWidget.clearContents()
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import sys
|
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
from scapy.all import *
|
from scapy.all import *
|
||||||
|
from scapy.layers.inet import traceroute
|
||||||
|
|
||||||
class TraceRoute(QWidget):
|
class TraceRoute(QWidget):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -16,6 +16,8 @@ class TraceRoute(QWidget):
|
|||||||
self.startTraceBtn.clicked.connect(self.startTrace)
|
self.startTraceBtn.clicked.connect(self.startTrace)
|
||||||
|
|
||||||
self.result = QTextEdit()
|
self.result = QTextEdit()
|
||||||
|
self.result.setEnabled(False)
|
||||||
|
|
||||||
self.layoutTrace = QVBoxLayout(self)
|
self.layoutTrace = QVBoxLayout(self)
|
||||||
self.layoutTrace.addWidget(self.hostn)
|
self.layoutTrace.addWidget(self.hostn)
|
||||||
self.layoutTrace.addWidget(self.host)
|
self.layoutTrace.addWidget(self.host)
|
||||||
@ -23,5 +25,11 @@ class TraceRoute(QWidget):
|
|||||||
self.layoutTrace.addWidget(self.result)
|
self.layoutTrace.addWidget(self.result)
|
||||||
self.setLayout(self.layoutTrace)
|
self.setLayout(self.layoutTrace)
|
||||||
|
|
||||||
def startTrace():
|
def startTrace(self):
|
||||||
pass
|
result, unans = traceroute(target=self.host.text(), dport=80, verbose=0)
|
||||||
|
output = []
|
||||||
|
output.append("\tRoute path\tResponse time")
|
||||||
|
for snd, rcv in result:
|
||||||
|
output.append(str(f"{snd.ttl}\t{rcv.src}\t\t{(int((rcv.time - snd.sent_time)*1000))} ms"))
|
||||||
|
output.append(f"\nUnanswered packets: {len(unans)}")
|
||||||
|
self.result.setText('\n'.join(output))
|
||||||
Loading…
x
Reference in New Issue
Block a user