Forum
>>
Principianti
>>
Problemi conl'iportazioni di moduli dalle librerie
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da MrGoldFinger |
2019-09-29 13:59:57 - Problemi conl'iportazioni di moduli dalle librerie
|
Save a tutti sono nuovo del forum e sono anche un principiante nel mondo di python. Deo ammettere anche se sono molto affezionato al C++(in cui ho le basi di programmazione ad oggetti) devo dire che questo linguaggio ha delle potenzialità davvero iteressanti, ho visto un sacco di tool per qualsiasi tipo di scopo e vorrei conoscerlo meglio in futuro. Mi passereste mateiale per impare di più sul mondo pyhton soprattutto sulle basi e sul mondo del Data Science?
Sto facendo u porgrammino che mi analizza dei file .tie che è un programma per la cattura del traffico di rete, e poi analazzie questi dati che sono in CSV e li rieabora in un file xlsx per analizzare dei biflussi Sto usando come IDE pycharm e mi sta dando problemi andando a mettermi in grigio alcune parti del codice e non capisco ilmotivo quando ci clicco su mi dice "unused import statement". Penso che voglia significare che ritiene che determinate istruzioni non siano usate nel programma e quindi è inutile iportarle perchè mi fa questo? Le funzioni che mi grigia sono queste: from datetime import datetime from subprocess import Popen, PIPE Ho provato di tutto ho aggiunto ogni possibile libreria contenente le parole subprocess pyshark subprocess xlwt e datatime presente nell'elenco, ma niente non ci sono versi me le griggia sempre perchè? Come faccio la prossima volta ad evitare questo problema? Vi metto qui tutto il programma import subprocess import pyshark import xlwt from datetime import datetime from subprocess import Popen, PIPE ip_tie = [] campi = ['Data', ' Protocol', 'DNS response address', 'DNS query name', 'SSL', 'IP Source', 'IP Destination', 'IP Proto', 'TCP Source Port', 'TCP Destination Port', 'TCP Source Port', 'Organisation', 'Reverse Host'] number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] name = ['renato'] workbook = xlwt.Workbook() for n in name: for x in number: print('#### ANALISI FILE ' + n + str(x)) r = 1 sheet = workbook.add_sheet("Pacchetto" + n + str(x)) style = xlwt.easyxf('font: bold 1') for c in range(0, len(campi) - 1): sheet.write(0, c, campic, style) sheet.col(c).width = 256 * 40 file_name_tie = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/class' + n + str(x) + '.tie' file = open(file_name_tie, "r") righe = file.readlines() print('Inizio lettura .tie') for i in range(11, len(righe) - 1): riga = righe elem = riga.split('\t') ip_dest = elem2 ip_tie.append(ip_dest) print('Fine lettura .tie') file_name_pcap = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/traffic.pcap' cap = pyshark.FileCapture(file_name_pcap, display_filter='dns') dati = [] try: for packet in cap: print('###Avvio analisi pacchetto') try: data = datatime.fromtimestamp(float(packet.frame_info.time_epoch)) except: data = '' try: protocol = packet.frame_info.protocols except: protocol = '' try: dns_addr = packet.dns.a except: dns_addr = '' try: dns_name = packet.dns.qry_name except: dns_name = '' try: ssl = packet.ssl.handshake_extensions_ except: ssl = '' try: ip_src = packet.ip.dst except: ip_src = '' try: ip_dst = packet.ip.dst except: ip_dst = '' try: ip_proto = packet.ip.proto except: ip_proto = '' try: src_port = packet[packet.trasport_layer] except: src_port = '' try: dst_port = packet[packet.trasport_layer] except: dst_port = '' tot = [data, protocol, dns_addr, dns_name, ssl, ip_src, ip_dst, ip_proto, src_port, dst_port] for ip in ip_tie: if ip == dns_addr: print('IP CORRISPONDONO: Avvio whois') dati_agg_whois = '' dati_agg_host = '' proc = subprocess.Popen(['whois', ip], stdout=subprocess.PIPE) output = proc.communicate(ip) 0 o = output.split('\n') for i in o: p = i.split(':') for m in p: dati.append(m.lstrip().lower()) for i in 'org-name', 'orgname', 'person', 'netname': try: ind = dati.index(i) dati_agg_whois = dati_agg_whois + ' ' + dati[ind + 1] except: pass print('Avvio analisi host') proc = subprocess.Popen(['host', ip], stdout=subprocess.PIPE) output = proc.communicate(ip) 0 o = output.split(' ') dati_agg_host = o 4.replace('\n', '') tot.append(dati_agg_whois) tot.append(dati_agg_host) break print(tot) for c in range(0, len(tot) - 1): dato = str(totc) sheet.write(r, c, dato) r = r + 1 print('Fine analisi pacchetto #') except: print('###ERRORE') workbook.save('Analisi.gt.tie.xlsx') Questo è quello che visualizza nella shell quando faccio la Run: /home/dario/Scrivania/retiprova1/provaprogetto/venv/bin/python /home/dario/Scrivania/retiprova1/provaprogetto/prova.py #### ANALISI FILE renato1 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato2 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato3 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato4 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato5 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato6 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato7 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato8 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato9 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato10 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato11 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato12 Inizio lettura .tie Fine lettura .tie ###ERRORE Process finished with exit code 0 In allegato metto una foto del mio risultato in excel --- Ultima modifica di MrGoldFinger in data 2019-09-29 14:01:18 --- --- Ultima modifica di MrGoldFinger in data 2019-09-29 14:01:42 --- --- Ultima modifica di MrGoldFinger in data 2019-09-29 18:45:03 --- --- Ultima modifica di MrGoldFinger in data 2019-09-29 18:45:54 --- --- Ultima modifica di MrGoldFinger in data 2019-09-29 18:47:28 --- |
|
Scritto da mrBoomBastic |
2019-09-29 20:16:19 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Le grigia perché sono due importazioni inutilizzate.
Se nel codice usi la forma: subprocess.Popen subprocess.PIPE non è necessario importare: from subprocess import Popen, PIPE è sufficiente: import subprocess Per quanto riguarda: from datetime import datetime è un modulo che non utilizzi nel programma |
|
Scritto da MrGoldFinger |
2019-09-29 22:08:16 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Ho fatto i cambiamenti che mi dicevi eliminando le parti di codice che mi dicevi ma non cambia niente comunque datetime lo uso in questa parte:
data = datetime.fromtimestamp(8)]float(packet.frame_info.time_epoch)) import subprocess import pyshark import xlwt ip_tie = [] campi = ['Data', ' Protocol', 'DNS response address', 'DNS query name', 'SSL', 'IP Source', 'IP Destination', 'IP Proto', 'TCP Source Port', 'TCP Destination Port', 'TCP Source Port', 'Organisation', 'Reverse Host'] number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] name = ['renato'] workbook = xlwt.Workbook() for n in name: for x in number: print('#### ANALISI FILE ' + n + str(x)) r = 1 sheet = workbook.add_sheet("Pacchetto" + n + str(x)) style = xlwt.easyxf('font: bold 1') for c in range(0, len(campi) - 1): sheet.write(0, c, campic, style) sheet.col(c).width = 256 * 40 file_name_tie = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/class' + n + str(x) + '.tie' file = open(file_name_tie, "r") righe = file.readlines() print('Inizio lettura .tie') for i in range(11, len(righe) - 1): riga = righe elem = riga.split('\t') ip_dest = elem[2] ip_tie.append(ip_dest) print('Fine lettura .tie') file_name_pcap = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/traffic.pcap' cap = pyshark.FileCapture(file_name_pcap, display_filter='dns') dati = [] try: for packet in cap: print('###Avvio analisi pacchetto') try: data = datetime.fromtimestamp(float(packet.frame_info.time_epoch)) except: data = '' try: protocol = packet.frame_info.protocols except: protocol = '' try: dns_addr = packet.dns.a except: dns_addr = '' try: dns_name = packet.dns.qry_name except: dns_name = '' try: ssl = packet.ssl.handshake_extensions_ except: ssl = '' try: ip_src = packet.ip.dst except: ip_src = '' try: ip_dst = packet.ip.dst except: ip_dst = '' try: ip_proto = packet.ip.proto except: ip_proto = '' try: src_port = packet[packet.trasport_layer] except: src_port = '' try: dst_port = packet[packet.trasport_layer] except: dst_port = '' tot = [data, protocol, dns_addr, dns_name, ssl, ip_src, ip_dst, ip_proto, src_port, dst_port] for ip in ip_tie: if ip == dns_addr: print('IP CORRISPONDONO: Avvio whois') dati_agg_whois = '' dati_agg_host = '' proc = subprocess.Popen(['whois', ip], stdout=subprocess.PIPE) output = proc.communicate(ip)[0] o = output.split('\n') for i in o: p = i.split(':') for m in p: dati.append(m.lstrip().lower()) for i in 'org-name', 'orgname', 'person', 'netname': try: ind = dati.index(i) dati_agg_whois = dati_agg_whois + ' ' + dati[ind + 1] except: pass print('Avvio analisi host') proc = subprocess.Popen(['host', ip], stdout=subprocess.PIPE) output = proc.communicate(ip)[0] o = output.split(' ') dati_agg_host = o[4].replace('\n', '') tot.append(dati_agg_whois) tot.append(dati_agg_host) break print(tot) for c in range(0, len(tot) - 1): dato = str(totc) sheet.write(r, c, dato) r = r + 1 print('Fine analisi pacchetto #') except: print('###ERRORE') workbook.save('Analisi.gt.tie.xlsx') Questa è la mia shell: /home/dario/Scrivania/retiprova1/provaprogetto/venv/bin/python /home/dario/Scrivania/retiprova1/provaprogetto/prova.py #### ANALISI FILE renato1 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato2 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato3 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato4 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato5 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato6 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato7 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato8 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato9 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato10 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato11 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato12 Inizio lettura .tie Fine lettura .tie ###ERRORE Process finished with exit code 0 Ti allego una foto in un cui pyshark mi dice gli errori riscontrati : https://imgur.com/OjMNkdq https://imgur.com/hncUTg8 |
|
Scritto da mrBoomBastic |
2019-09-29 23:15:59 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Nel programma che avevi postato precedentemente avevi scritto datatime, non datetime, la riga corretta è questa:
data = datetime.fromtimestamp(float(packet.frame_info.time_epoch)) per questo non l'ho trovata. Quindi se utilizzi datetime devi importarlo all'inizio: from datetime import datetime --- Ultima modifica di Tessa in data 2019-09-30 00:09:40 --- |
|
Scritto da MrGoldFinger |
2019-09-30 10:44:30 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Ho fatto le modifiche che mi dicevi ma non cambia quasi nulla
import subprocess import pyshark import xlwt from datetime import datetime ip_tie = [] campi = ['Data', ' Protocol', 'DNS response address', 'DNS query name', 'SSL', 'IP Source', 'IP Destination', 'IP Proto', 'TCP Source Port', 'TCP Destination Port', 'TCP Source Port', 'Organisation', 'Reverse Host'] number = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] name = ['renato'] workbook = xlwt.Workbook() for n in name: for x in number: print('#### ANALISI FILE ' + n + str(x)) r = 1 sheet = workbook.add_sheet("Pacchetto" + n + str(x)) style = xlwt.easyxf('font: bold 1') for c in range(0, len(campi) - 1): sheet.write(0, c, campic, style) sheet.col(c).width = 256 * 40 file_name_tie = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/class' + n + str(x) + '.tie' file = open(file_name_tie, "r") righe = file.readlines() print('Inizio lettura .tie') for i in range(11, len(righe) - 1): riga = righe elem = riga.split('\t') ip_dest = elem[2] ip_tie.append(ip_dest) print('Fine lettura .tie') file_name_pcap = '/home/dario/Scrivania/retiprova1/' + n + '/' + n + str(x) + '/traffic.pcap' cap = pyshark.FileCapture(file_name_pcap, display_filter='dns') dati = [] try: for packet in cap: print('###Avvio analisi pacchetto') try: data = datetime.fromtimestamp(float(packet.frame_info.time_epoch)) except: data = '' try: protocol = packet.frame_info.protocols except: protocol = '' try: dns_addr = packet.dns.a except: dns_addr = '' try: dns_name = packet.dns.qry_name except: dns_name = '' try: ssl = packet.ssl.handshake_extensions_ except: ssl = '' try: ip_src = packet.ip.dst except: ip_src = '' try: ip_dst = packet.ip.dst except: ip_dst = '' try: ip_proto = packet.ip.proto except: ip_proto = '' try: src_port = packet[packet.trasport_layer] except: src_port = '' try: dst_port = packet[packet.trasport_layer] except: dst_port = '' tot = [data, protocol, dns_addr, dns_name, ssl, ip_src, ip_dst, ip_proto, src_port, dst_port] for ip in ip_tie: if ip == dns_addr: print('IP CORRISPONDONO: Avvio whois') dati_agg_whois = '' dati_agg_host = '' proc = subprocess.Popen(['whois', ip], stdout=subprocess.PIPE) output = proc.communicate(ip)[0] o = output.split('\n') for i in o: p = i.split(':') for m in p: dati.append(m.lstrip().lower()) for i in 'org-name', 'orgname', 'person', 'netname': try: ind = dati.index(i) dati_agg_whois = dati_agg_whois + ' ' + dati[ind + 1] except: pass print('Avvio analisi host') proc = subprocess.Popen(['host', ip], stdout=subprocess.PIPE) output = proc.communicate(ip)[0] o = output.split(' ') dati_agg_host = o[4].replace('\n', '') tot.append(dati_agg_whois) tot.append(dati_agg_host) break print(tot) for c in range(0, len(tot) - 1): dato = str(totc) sheet.write(r, c, dato) r = r + 1 print('Fine analisi pacchetto #') except: print('###ERRORE') workbook.save('Analisi.gt.tie.xlsx') Questa è la shell : /home/dario/Scrivania/retiprova1/provaprogetto/venv/bin/python /home/dario/Scrivania/retiprova1/provaprogetto/prova.py #### ANALISI FILE renato1 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato2 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato3 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato4 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato5 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato6 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato7 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato8 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato9 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato10 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato11 Inizio lettura .tie Fine lettura .tie ###ERRORE #### ANALISI FILE renato12 Inizio lettura .tie Fine lettura .tie ###ERRORE Process finished with exit code 0 Ti metto sotto un link con le foto delle segnalazioni che mi da pycharm: https://imgur.com/EoxFl0u https://imgur.com/9yOP2rb |
|
Scritto da mrBoomBastic |
2019-09-30 13:13:29 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Il problema della grigiatura delle prime righe di codice è stato risolto.
Sicuramente sono risolvibili anche gli altri. Metti dei commenti nel codice spiegandone le varie parti e le varie funzioni perché la cosa mi sembra interessante, visto che ad una prima occhiata non ci capisco una mazza |
|
Scritto da MrGoldFinger |
2019-09-30 16:28:17 - Re: Problemi conl'iportazioni di moduli dalle librerie
|
Semmai provo a spostarlo nella sezione reti che è più adatto
|
Pagina: 1
Esegui il login per scrivere una risposta.