Newsgroup: it.comp.lang.visual-basic
Titolo: Ricezione di Bit

Ciao a tutti!
Vorrei sapere se c'è un modo, magari utilizzando winsock, per ricevere i
pacchetti IP come stringa di bit.
In sostanza vorrei catturare con un evento simile al DataArrival tutti i
bit che compongono i pacchetti in arrivo e, nella stessa maniera,
riuscire a spedire bit al posto di stringhe.
Come posso fare?
Ciao e grazie a tutti.
Davide
-- 
Volontario Anti-Troll (TM) 
SecurFaq: 
http://members.nbci.com/gouldukat/
DocTrolls: 
http://it.geocities.com/roccopapaleo/faq/italiano/Troll.html
Netiquette: 
http://www.inferentia.it/netiquette/dis.html

 wrote in message
news:3b559ed9...@news.galactica.it...


 che sono composti da 8 bit ognuno
Questo e' opinabile :)
In VB in genere i caratteri sono composti da 16 bit.
Concordo sul fatto che il problema non sia chiarissimo...
Quali "bit" vuoi mandare? E quali vuoi ricevere?
Se vuoi creare un intero pacchetto IP, sappi che il Winsock non supporta i
pacchetti raw (e anche windows come intero li supporta molto poco) quindi
non puoi inventarti il tuo pacchetto preferito.
Ciaotutti,
*

 Questo e' opinabile :)
hai ragione, anche io non sono stato chiaro. Con carattere intendevo
semplici ascii un-deuttre-255
;-)

vorresti vedere una stringa in formato bit e viceversa?
no, vorrei vedere i pacchetti TCP in entrata da una porta sotto forma di
bit, completi di intestazione, indirizzo IP del mittente, Indirizzo Ip
del destinatario e corpo del pacchetto.
Grazie


non puoi inventarti il tuo pacchetto preferito.
ecco centrato il punto.
cosa intendi per pacchetti raw? non è sufficiente inviare bit come
catena di words? se non posso usare winsock, cosa devo utilizzare per
stabilire delle connessioni? 
Grazie e ciao! 


 stabilire delle connessioni?
Non puoi scrivere le intestazioni IP e TCP, per il resto nei dati puoi
metterci quello che preferisci.
Ciaotuti,
*

 del destinatario e corpo del pacchetto.
Devi cambiare linguaggio.
In VB e' quantomeno improbo, forse proprio impossibile, devi passare al C.
Potresti perfino doverti scrivere un VXD.
Ciaotutti,
*

> vorresti vedere una stringa in formato bit e viceversa?
mi associo a davide...
vorremo ricevere ogni singolo pacchetto
ricevuto da un socket per controllarne
gli header.
--
H0m3r S1mps0n
----------------------------------------
Il Registro di Linux č sopra /home/cattedra
Suoni il SaX? No, l'XF86Config! (SuSE)
----------------------------------------
----------------------------------------

metterci quello che preferisci.
impostiamo il discorso in altro modo...
Con l'oggetto winsock trasmetto e ricevo dati in TCP-IP.
Se io volessi ricevere tutto un pacchetto in binario comprensivo di
intestazione?
Lasciamo perdere la trasmissione al momento...
Ciao!


 Davide
Dovresti scrivere in C.
Win ti mette a disposizione delle API ma devi usare il C perche' se non
ricordo male in VB ci sono alcuni casi che non puoi gestire (ad es le
union).
Ciaotutti,
*

union).
Non mi interessano le union, devo solo analizzare singoli pacchetti
icmp. L'applicativo che ho in mente deve poter bloccare degli attacchi
di tipo DoS. Quindi mi serve sapere l'intestazione del pacchetto e
quindi, in particolare, l'indirizzo del mittente dello stesso.
Non si può proprio fare in vb con qualche proprietà del winsock?
Ciao e scusa se sono così fissato, ma vb ce l'ho già e c dovrei
procurarmelo e studiarmelo da 0.


> union).
DC> Non mi interessano le union, devo solo analizzare singoli pacchetti
DC> icmp. L'applicativo che ho in mente deve poter bloccare degli attacchi
DC> di tipo DoS. Quindi mi serve sapere l'intestazione del pacchetto e
DC> quindi, in particolare, l'indirizzo del mittente dello stesso.
Ah, quello è spoofed oppure è uno zombie...
DC> Non si può proprio fare in vb con qualche proprietà del winsock?
Devi usare le chiamate di IP che stà sotto TCP/UDP/ICMP, potresti
forse farlo in VB importando le chiamate ma in ogni caso credo che
la cosa potrebbe funzionare solo sulla macchina vittima in quanto
credo che solo con 2000 sia possibile mettere l'interfaccia in modo
promiscuo.
DC> Ciao e scusa se sono così fissato, ma vb ce l'ho già e c dovrei
DC> procurarmelo e studiarmelo da 0.
Procurati il GCC e studiatelo. Certe cose non è saggio farle in VB, si
ricade nel vecchio proverbio  giapponese "Per l'uomo col martello ogni
problema è un chiodo".
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )