salve a tutti, vorrei sapere se è possibile scrivere un programma in vb6 per distingure in automatico se un indirizzo IP è pubblico o privato.
grazie![]()
![]()
salve a tutti, vorrei sapere se è possibile scrivere un programma in vb6 per distingure in automatico se un indirizzo IP è pubblico o privato.
grazie![]()
![]()
giulia.esposito61@libero.it
Ovviamente è possibile ...
Un IP è privato se appartiene ad uno dei blocchi
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
A te il resto ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
la teoria la conosco....
speravo in un aiutino pratico....codice, in sostanza vorrei implementare un filtro.
![]()
giulia.esposito61@libero.it
A parte il fatto che in questo forum non si fornisce codice a richiesta, mi sembra veramente che non esista la necessità di farlo in questo caso ...
Non so come ottieni l' IP (in quale formato, da dove ...) e non è chiaro all'interno di quale progetto devi trattarlo (un filtro? ma di cosa? in vb6 ...) ma si tratta di scrivere qualche If ... che difficoltà c'è nel farlo?
No MP tecnici (non rispondo nemmeno!), usa il forum.
il formato dell'IP è lo stesso che mi hai indicato nella risposta (non è che ne esistano poi tanti), da dove lo ricavi è ininfluente, visto che devi darlo in pasto a una funzione che deve fare "qualche if" (in realtà c'è bisogno anche di qualche trasformazione e di qualche conto, se vuoi verificare che non ricada all'interno di un range). Qmq ho risolto, ... grazie comunque alla prossima occasione.![]()
giulia.esposito61@libero.it
Intendevo se lo avevi come stringa, come long, come sequenza di 4 byte ... ci sono tanti formati ...Originariamente inviato da giulia.esposito
il formato dell'IP è lo stesso che mi hai indicato nella risposta (non è che ne esistano poi tanti),
Sì ... era qualche if ..."qualche if"
Se devi fare altro da quanto richiesto, è ovvio che ci vuole altro codice ... ma se il problema non è spiegato completamente (anzi, è quasi misterioso ...) allora è difficile dare indicazioni precise ...(in realtà c'è bisogno anche di qualche trasformazione e di qualche conto, se vuoi verificare che non ricada all'interno di un range).
Meglio cosìQmq ho risolto, ... grazie comunque alla prossima occasione.![]()
No MP tecnici (non rispondo nemmeno!), usa il forum.
scusa, non volevo fare polemica, effettivamente esistono più formati, io in realtà ho scritto una funzione che prende un ip in formato xxx.xxx.xxx.xxx lo converte in intero e vede se ricade in uno dei range, così se è privato lo scarto. nessun mistero, sto provando ad analizzare gli header di una email. grazie e alla prossima occasione![]()
giulia.esposito61@libero.it
Se lo ottieni come stringa xxx.xxx.xxx.xxx ti basta valutare solamente le prime due parti.
Le converti in decimale e scrivi la if (anche una sola) di cui ti parlavo
if (b1=10 or (b1=172 and b2=16) or (b1=192 and b2=168)) then ... è privato else ... è pubblico
No MP tecnici (non rispondo nemmeno!), usa il forum.
c'è un bug in quella ifOriginariamente inviato da oregon
if (b1=10 or (b1=172 and b2=16) or (b1=192 and b2=168)) then ... è privato else ... è pubblico![]()
I got the remedy
Correggila ...Originariamente inviato da albgen
c'è un bug in quella if![]()
No MP tecnici (non rispondo nemmeno!), usa il forum.