Trace-Port, PowerShell и други скриптове

Публикувай календар

януари 2007 г.Пон Вт Ср Чет Пет Сб Нед
« декфевруари »
1234567
8910единадесет121314
15161718192021
22232425262728
29тридесет31

Скрипт за улавяне на връзка към посочения порт и извеждане на всичко, което идва към него. Ако посочите ключа -Echo, той ще отговори на клиента със същите данни, които изпраща. По подразбиране той слуша на порт 23.

Всъщност просто пренаписан от пример в MSDN.

Свързани сме чрез telnet: telnet 192.168.1.99 333

Резултатът е масив от байтове и понякога просто се нуждаете от текст:

Скриптът има един минус, не е многонишков, изпълнява се в същия процес като PowerShell и съответно от момента на стартиране, докато връзката се прекъсне, няма да реагира на Ctrl + C ... Но засега това ми е достатъчно, мързи ме да копая по-нататък 🙂

хареса това:

Изправени пред такъв проблем. Горният скрипт слуша порт и изпълнява определени действия в зависимост от входящите команди.

И в една функция има нужда от пауза между действията. Използвам Start-Sleep 1. След това, ако прекъснете връзката, не можете да установите нова, защото портът е зает. Ако премахнете Start-Sleep, тогава всичко е наред. Как мога да принудя порт да бъде освободен? И защо портът не се затваря, когато $client.Close() $listener.Stop() Въпреки че работата е завършена правилно?

Изправени пред такъв проблем. По-високопосоченият скрипт слуша порта и изпълнява определени действия, в зависимост от входящите команди.

И в една функция има нужда от пауза между действията. Използвам Start-Sleep 1. След това, ако прекъснете връзката, не можете да установите нова, защото портът е зает. Ако премахнете Start-Sleep, тогава всичко е наред. Как мога да принудя порт да бъде освободен? И защо портът не се затваря, когато $client.Close() $listener.Stop() Въпреки че работата е завършена правилно?

И бих искал да знам повече. Възможно ли е телнет със сертификати? Не искам никой да може да отваря telnet и да изпраща команди до сървъри, които ще се изпълняват там с администраторски права. Получавате дупка. Бих искал скриптът по някакъв начин да провери наличието на сертификат за свързаното лице. Възможно ли е да?

Опитайте да използвате [threading.thread]::sleep(1000) време в ms.

telnet се използва тук просто за свързване към порт и изпращане на текстови данни. Можете също да използвате netcat например. Съответно функциите за сигурност тук са само тези, които вие сами пишете. Можете също така да свържете проверката на сертификати и криптиране 🙂 Или можете да вземете готовия протокол 🙂