Newsgroup: it.comp.sicurezza.varie
Titolo: HOSTS file editor con controllo delle voci

 
Mi sono deciso a mettere mano al file HOSTS dopo tanti anni per
ripurirlo dalla spazzatura accumulata nel tempo.
Mi sono accorto che è diventato qualcosa di mostruoso... quasi 2MB con
migliaia di entries e almeno il 50% di loro credo siano inutili a
tutt'oggi, dato che le avrò aggiunte anche 20 anni fa.
 
Al tempo, riuscivo a fare un editing manuale, indirizzo per indirizzo,
ma ormai mi sembra un "opzione" non più praticabile.
 
Perciò chiedo se qualcuno di voi conosce un programma per gestire il
file HOSTS che abbia tra le sue funzioni anche il check degli
indirizzi introdotti.
 
Ho già provato: 
https://download.html.it/software/hostsman/
 
ma non mi piace molto.
 
Il mio preferito resta:
https://www.raymarron.com/hostess/help/index.html
 
ma non ha la funzione di check che vorrei.
 
-- 
Lex Tutor
Ad impossibilia non receperit spam nemo tenetur
et cazziatorum spammer pro omnibus possibile est

 ma ormai mi sembra un "opzione" non più praticabile. 
 
Uno script in powershell[*]
 
- leggi il file riga per riga
- ping -c 10 <ip>
 a seconda della risposta salvi in buoni o cattivi
- se l'ip appartiene alla categoria ip locali (192. - 10. - 172.) salvi in locali buoni o cattivi
 
se il lavoro lo fai su una terza macchina puoi anche fare il controllo del nome host
(l'ip può essere cambiato ma non il nome e vice versa)
 
al termine riunisci tutti i buoni e sostituisci il vecchio file.
 
M.
 
[*] dalle immagini nei link sono programmi per windows, quindi....

 che abbia tra le sue funzioni anche il check degli indirizzi introdotti.
 
Puoi provare a verificarne la validità con "PingInfoView" di NirSoft.
 
Gli ho dato in pasto l'elenco contenuto nel mio file HOSTS da quasi
125klinee, è imploso e ha creato un buco nero.
 
Magari conviene dargli l'elenco degli hosts "a blocchi" di qualche
/decinaia di centìne/ di indirizzi per volta.
 
 
Ad ogni modo, non conosco tool integrati che gestiscano il file HOSTS e
ne verifichino al contempo la validità delle voci.
 
 
Ciao,
un TJL73 e il multipost...
 
-- 
Se Dio è onnipotente, avrebbe potuto prevenire l'Olocausto.
Se non è stato capace di fermarlo, è impotente e inutile;
se l'avesse potuto fermare e scelse di non farlo, è un mostro.
                                  -- Karen Armstrong, "A History of God"

[*] dalle immagini nei link sono programmi per windows, quindi....
 
Si, qui si usano solo sistema operativi microsoft (ma solo quelli).
 
 
-- 
Lex Tutor
L'Asilo Infantile di Bofhland® è un argomento che sarà oggetto
di un libro di prossima pubblicazione, quindi sto discutendo
di una questione che mi interessa per finalità di ricerca

un TJL73 e il multipost...
 
Si, ho sbagliato io a scrivere anche su  it.comp.reti.wireless.
Chiedo scusa.


via.
 
Anche io gestisco un mio "cloud" *qua*, nel senso che non si trova in
cielo ma è sotto il mio diretto controllo, da cui scarico ed installo
roba sui PC aziendali, tra cui anche il file HOSTS che vorrei
ripulire.
 

 ma non ha la funzione di check che vorrei.
 
non è che potrebbe interesarti AMDEADLINK
https://www.aignes.com/deadlink.htm
 
?

 Chiedo scusa.
 
Perdonato.  ;-)
 
 
Ciao,
un TJL73 che usa le stesse liste anche su Android...
 
-- 
"Che, poi, io nemmeno volevo nascere: avevo solo accompagnato uno
 spermatozoo mio amico, ma hanno scelto me."

tutt'oggi, dato che le avrò aggiunte anche 20 anni fa.
 
Il fatto è che ti servono diverse opzioni, mi sembra.
 
Per esempio (ci sta che ci siano altri tipo di entry nel file HOSTS)
 
127.0.0.1		
ads.umbelliferone.org
	# Sito che voglio rimbalzare
192.168.42.197		
updates.microsoft.com
	# Sito che voglio ridirigere
192.168.42.133		
dev.nomeazienda.it
	# Sito ancora sotto sviluppo
127.0.0.1		
ads.nolongerexists.com
	# Sito tipo 1, ma estinto
192.168.42.197		
updates.nolonger.com
	# Sito tipo 2, ma estinto
192.168.42.133		
dev.nonhannopagato.it
	# Sito tipo 3, ma estinto
 
...come riconosco i vari tipi di entry? I primi tre li voglio tenere, gli
altri li voglio commentare o eliminare proprio.
 
La butto là:
 
<LOOPBACK>	RESOLVE=NO			# Questo lo butto via (1)
<LOOPBACK>	RESOLVE=YES			# Questo lo tengo
<BOGON>		PING=NO				# Questo lo butto via
<BOGON>		PING=YES HTTP(S)=NO		# Questo lo butto via
<BOGON>		PING=YES HTTP(S)=YES		# Questo lo tengo
 
(1) e se l'ho messo in HOSTS proprio per aggirare il negative resolve timeout?
    In questo caso mi succede come a Gargiulo.
 
La versione minimale ("Se risolve e risponde lo tengo, se no butto via") si fa
con relativamente poco sforzo per es. in Python:
 
import re
# Devo usare un resolver perche' altrimenti
# e' come chiedere all'host se il suo vino e' buono.
import dns.resolver
 
# Linux: '/etc/hosts'
# La VM Windows 10 non entra su mdv1_
hosts      = 'flp1_windows_system32_etc_drivers_hosts'
dns_server = '8.8.8.8'
 
def good(resolver, hostline):
    if hostline.startswith(';') or hostline.startswith('#'):
        return True
    if len(re.findall(r'\S+', hostline)) == 0:
        return True
    host = re.findall(r'\S+', hostline)[-1]
    try:
        answer = resolver.query(host, 'A')
    except TypeError:
        return False
    except dns.resolver.NXDOMAIN:
        return False
    except dns.resolver.NoAnswer:
        return False
    return len(answer) != 0
 
resolver = dns.resolver.Resolver(configure=False)
resolver.nameservers = [ dns_server ]
 
print ''.join([ host for host in open(hosts) if good(resolver, host) ])
 
Quanto sopra manda gli host puliti a standard output. Sovrascrivere il file
hosts è uno di quegli scherzetti che ognuno deve farsi da se'.
 
Leonardo
-- 
 
"You all presumably know why" :-) :-(