L'ouverture d'un port avec powershell
Sur Machine A
je suis en cours d'exécution un scanner de port. Sur Machine B
je voudrais ouvrir et de fermer les ports d'une manière organisée. Je suis l'espoir de faire tout cela via powershell.
J'ai trouvé CETTE script à exécuter sur Machine B
cependant lors de l'analyse du même port à partir de Machine A
il dit encore qu'il est fermé.
Un sait comment je peux réussir à ouvrir un port sur Machine B
- Il pourrait aider si vous décrit la relation entre
Machine A
etMachine B
(en parlant de la hiérarchie du réseau ici). Machine A
est 10.0.0.20 etMachine B
est 10.0.0.199 ils sont sur le même domaine. Ne fait qu'expliquer ce que vous aviez à sorta?- Cela rend la vie plus simple. Les autres machines sont les uns des autres, le plus de facteurs que vous devez prendre en compte lors de la résolution pourquoi il ne fonctionne pas. Vérifier mes mises à jour de réponse.
Vous devez vous connecter pour publier un commentaire.
Éviter COM si possible. Vous pouvez utiliser TcpListener pour ouvrir un port:
Si vous manquez une
Stop
de commande lors du débogage - fermez et ré-ouvrez l'application à partir duquel vous avez ouvert le socket - pendaison de port doit être effacée. Dans mon cas, c'étaitPowerGUI script editor
.Ensuite utiliser TcpClient pour le vérifier.
Si vous ne pouvez vous connecter, signifie que le pare-feu bloque.
EDIT: Pour imprimer un message lors de la connexion est reçue, vous devriez être en mesure d'utiliser ce code (basé sur cet article à partir de MSDN):
Machine A
est 10.0.0.199 etMachine B
est 192.168.1.10Start
etStop
. Par exemple, utiliser les AcceptTcpClient, mais si elle ne reçoit jamais de la demande de connexion (c'est à dire en raison de pare-feu bloc), il faudra attendre indéfiniment. Alors peut-être utiliser les AcceptTcpClientAsync, et de vérifier si elle reçoit de connexion jusqu'à ce que délai. Le script obtenu peut être complexe pour tenir compte de ces problèmes de synchronisation.