ho spesso provato a fare uno sniffer in VB... mi è sempre stato risposto, nei vari forum, che VB era troppo poco potente e ci sarebbe voluto il C++...
Poco probabile.
Controlla se per VB esistono dei bindings a libpcap / Winpcap.
Sono stati scritti per praticamente qualunque linguaggio 'famoso'.

se sono collegato a un server (di gioco) che mi manda centinaia di pacchetti con protocollo UDP, ho modo di sapere l' indirizzo IP di quel server, nota SOLO la porta (che è fissa per quel determinato gioco) da cui invia i pacchetti?
Con libpcap e una opportuna libreria di decodifica dal pacchetto UDP puoi determinare / estrarre quel che ti pare: porta sorgente/destinazione, data, ecc...
Stesso discorso per IP e i layer sovrastanti.

dovrei sapere da programma, noto unicamente il numero della porta da cui il server manda i dati, l' indirizzo IP da cui vengono quei dati
Ribadisco: le libpcap sono fatte apposta per questo genere di lavori.

Saluti