Existe-t-il un utilitaire de base pour ouvrir un port TCP réseau spécifique sur ma machine?
J'ai besoin de tester comment mon programme gère les ports en état d'écoute.
Existe-t-il un utilitaire de base pour ouvrir un port TCP réseau spécifique sur ma machine?
J'ai besoin de tester comment mon programme gère les ports en état d'écoute.
Réponses:
netcat devrait faire ce que vous voulez. Faites-le écouter sur votre machine et faire écho à STDOUT:
nc -4 -k -l -v localhost 1026
lorsque vous souhaitez qu'il se ferme à la fin de la connexion, n'utilisez pas -k
Vous avez
Écoute TCP: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Portqry.exe, l'utilitaire de ligne de commande de Microsoft
Essayez iperf. Il existe une version pour Windows. Vous pouvez simplement l'exécuter comme iperf -s -p 1234
, et il écoutera sur le port 1234. Vous pouvez ensuite vous connecter à ce port à partir d'une machine distante en faisant quelque chose comme:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Vous auriez besoin d'obtenir iperf.exe
ou portqry.exe
pour les deux derniers. iPerf n'est pas strictement conçu pour cette tâche, mais il est idéal pour dépanner la connectivité, la disponibilité de la bande passante, les liens de test de stress, etc.
Il semble que cet utilitaire fera exactement ce que vous voulez, même en affichant les données reçues si vous le souhaitez: http://www.drk.com.ar/builder.php
Il a une interface graphique plutôt qu'une simple ligne de commande, un avantage pour certains.
Le robinet et le tuyau des outils netpipes m'ont toujours bien servi, simplifiant et que mes programmes utilisent sur le réseau.stdin
stdout
Similaire à netcat .
Description d'Ubuntu:
Le package netpipes rend les flux TCP / IP utilisables dans les scripts shell. Il peut également simplifier le code client / serveur en permettant au programmeur d'ignorer tous les bits de programmation fastidieux liés aux sockets et de se concentrer sur l'écriture d'un filtre ou d'un autre service.
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 - .
C'est l'utilisation parfaite pour Wireshark , un analyseur de paquets et de protocoles qui se trouve entre la pile de mise en réseau Windows / Linux.
Il vous permettra de visualiser tous les paquets TCP / UDP reçus par l'ensemble de votre machine, quel que soit le port. Vous pouvez également demander au programme de filtrer uniquement les paquets envoyés sur un certain port pour une analyse plus approfondie. L'avantage de Wireshark est qu'il fournit des messages très détaillés pour chaque paquet - source, destination, port, adresses MAC, données, dates, sommes de contrôle, etc. Outil très utile (et gratuit!).
TCP Listen est la meilleure réponse à mon humble avis. J'ai regardé et aimé TCP Builder, mais vous AVEZ BESOIN de droits d'administrateur pour exécuter cette application, vous n'en avez PAS besoin avec l'écouteur TCP, et vous devez également installer TCP Builder, ou décompresser et copier un tas de fichiers, tandis que TCP Listener est 1 EXE, rien de plus.
TCP Listener n'avait pas non plus besoin de droits d'administrateur, et lorsque je l'ai analysé, rien ne disait qu'il était malveillant. Le constructeur avait 1 AV sur Virustotal qui disait que c'était mauvais, mais il s'est avéré être un faux positif (j'espère) :)
Bien que j'ai obtenu que Builder exécute les droits sans administrateur, il ne pouvait pas accrocher le socket alors que Listener le pouvait. Une fois que j'ai fait tous mes tests, je pouvais simplement supprimer le 1 fichier de Listener et tout était comme avant.
Netcat aurait été bien, mais je n'ai pas trouvé de version qui fonctionnerait avec 2012 ou une version ultérieure du serveur. Ainsi, pour tester complètement si le pare-feu réseau et les pare-feu locaux permettent à des ports TCP spécifiques de se connecter, l'écouteur TCP semble être le meilleur outil pour ce travail.
Prendre plaisir!
Vous pouvez utiliser la version Windows de netcat :
nc -l -v localhost -p 7
J'aime netcat sous Windows, mais télécharger et installer des trucs depuis Internet n'est pas toujours possible. Peut-être que vous configurez un serveur de production et que vous souhaitez tester vos règles de pare-feu avant (et sans) installer quoi que ce soit.
La plupart (tous?) Des serveurs Windows ont un compilateur JScript.net. Vous pouvez écrire un ancien fichier batch Windows simple qui est également un programme JScript.net valide, un programme polyglotte .
tl; dr;
polyglot-listener.bat 1234
pour écouter sur le port 1234
.L'idée est de trouver l' jsc.exe
exécutable sur votre système:
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
Et utilisez-le pour compiler le fichier de commandes.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
Le fichier de commandes contient du code JScript.Net de base qui crée un socket synchrone, l'écoute, accepte la connexion et supprime tout ce qui en découle:
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
var data:byte[] = new byte[1024];
Console.WriteLine("Waiting for a TCP connection on {0}:{1}...", ipAddress, port);
var handler = listener.Accept();
Console.WriteLine("Connected to {0}", handler.RemoteEndPoint);
try {
// An incoming connection needs to be processed.
while (handler.Receive(data) > 0);
} finally {
Console.WriteLine("Disconected\n");
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
Le programme compilé sera enregistré sous %APPDATA%\listener.exe
. Il peut s'exécuter seul, copié sur un serveur, mais la compilation à partir du fichier batch polyglotte fonctionnera indépendamment des obstacles de sécurité sur votre chemin.
TCPView de la boîte à outils Sysinternals fournit une très belle vue d'ensemble.