Esiste un'utilità di base per aprire una porta TCP di rete specifica sulla mia macchina?
Devo testare il modo in cui il mio programma gestisce le porte nello stato di ascolto.
Esiste un'utilità di base per aprire una porta TCP di rete specifica sulla mia macchina?
Devo testare il modo in cui il mio programma gestisce le porte nello stato di ascolto.
Risposte:
netcat dovrebbe fare quello che vuoi. Fallo ascoltare sulla tua macchina e fai eco a STDOUT:
nc -4 -k -l -v localhost 1026
quando vuoi che si chiuda al termine della connessione, non usare -k
Hai
TCP Listen: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Utilità della riga di comando di Microsoft Portqry.exe
Prova iperf. Esiste una versione per Windows. Puoi semplicemente eseguirlo come iperf -s -p 1234
, e ascolterà sulla porta 1234. Puoi quindi collegarti a quella porta da una macchina remota facendo qualcosa del tipo:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Dovresti ottenere iperf.exe
o portqry.exe
per gli ultimi due. iPerf non è progettato rigorosamente per questa attività, ma è ottimo per la risoluzione dei problemi di connettività, disponibilità della larghezza di banda, collegamenti di stress test, ecc.
Sembra che questa utility farà esattamente quello che vuoi, anche visualizzando i dati ricevuti se ti piace: http://www.drk.com.ar/builder.php
Ha una GUI piuttosto che solo una riga di comando, un vantaggio per alcuni.
Questo è l'uso perfetto per Wireshark , un analizzatore di pacchetti e protocolli che si trova tra lo stack di rete di Windows / Linux.
Ti consentirà di visualizzare tutti i pacchetti TCP / UDP ricevuti da tutta la tua macchina, indipendentemente dalla porta. Puoi anche dire al programma di filtrare solo i pacchetti inviati attraverso una determinata porta per ulteriori analisi. Il vantaggio di Wireshark è che fornisce messaggi molto dettagliati per ogni pacchetto: sorgente, destinazione, porta, indirizzi MAC, dati, date, checksum, ecc. Strumento molto utile (e gratuito!).
Il rubinetto e il tubo degli strumenti netpipes mi sono sempre serviti bene, semplificando e per i miei programmi da utilizzare in rete.stdin
stdout
Simile a netcat .
Descrizione di Ubuntu:
Il pacchetto netpipes rende i flussi TCP / IP utilizzabili negli script di shell. Può anche semplificare il codice client / server consentendo al programmatore di saltare tutti i noiosi bit di programmazione relativi ai socket e concentrarsi sulla scrittura di un filtro o di altri servizi.
EXAMPLES
This creates a TCP-IP socket on the local machine bound to port 3000.
example$ faucet 3000 --out --verbose tar -cf - .
Every time some process (from any machine) attempts to connect to port 3000 on this machine the faucet program will fork(2) a process and the child
will exec(2) a
tar -cf - .
TCP Listen è la risposta migliore IMHO. Ho guardato e apprezzato TCP Builder, ma hai BISOGNO dei diritti di amministratore per eseguire quell'app, NON ti servono con listener TCP e devi anche installare TCP Builder, o decomprimere e copiare un mucchio di file, mentre TCP Listener è 1 EXE, niente di più.
Inoltre, TCP Listener non aveva bisogno dei diritti di amministratore e quando ho eseguito la scansione di AV, nulla ha detto che era dannoso. Builder aveva 1 AV su Virustotal che diceva che era male, ma si è rivelato essere un falso positivo (spero) :)
Mentre ho ottenuto Builder per eseguire i diritti di amministratore sans, non è stato possibile agganciare il socket mentre Listener poteva. Una volta che ho fatto tutti i miei test, ho potuto semplicemente eliminare il 1 file di Listener e tutto era come prima.
Netcat sarebbe stato carino, ma non ho trovato una versione che funzionasse con il server 2012 o successivo. Quindi, per testare completamente se il firewall di rete e i firewall locali consentono la connessione di porte TCP specifiche, il listener TCP sembra lo strumento migliore per questo lavoro.
Godere!
Puoi usare la versione Windows di netcat :
nc -l -v localhost -p 7
TCPView dal toolkit di Sysinternals offre una panoramica molto bella.