Prosty programik do udostępniania portu com po telnecie

Problemy z pozostałymi technologiami (SDH, IronPort, WAAS itp.)
Wiadomość
Autor
Awatar użytkownika
judge dredd
wannabe
wannabe
Posty: 214
Rejestracja: 02 sie 2009, 15:23

Prosty programik do udostępniania portu com po telnecie

#1

#1 Post autor: judge dredd »

Cześć,

Przeszukałem pół internetu i nie mogę znaleźć programiku do udostępnienia połączenia konsolowego na porcie COM z komputera przez prostą sesję telnetu. Wydawało by się, że takich programów powinno być na pęczki, a znajduję nie do końca to, co sobie wymyśliłem. Już opisuję o co by mi chodziło:

Mam komputer z windows'em i w nim port COM1. Do tego portu mam podłączonego kablem konsolowym switcha Cisco (sie wie!). Jak na tym komputerze odpalę sobie putty'ego i otworzę port COM1, to mam połączenie konsolowe do switcha. Jak na razie wszystko normalnie. No i teraz wymyśliłem sobie, że przecież powinien być gdzieś w internecie prosty programik, który odpalę na tym komputerze i on otworzy taką sesję konsolową na porcie COM1 i niejako tę sesję udostępni na wybranym porcie tcp na tym komputerze. Chodzi o to, że jeśli nawiążę teraz z innego kompa zwykłą sesję telnetu do tego komputera na wybrany port, to będę mógł w tej sesji telnetu wysyłać znaki do portu COM1 i odbierać odpowiedź. Taki "serwer telnet dla lokalnego portu COM".

W internecie są podobne rozwiązania, ale wszystkie które znalazłem, były dużo na wyrost, tzn. zajmowały się wirtualnym bridge'owaniem portów COM po tcp/ip, czyli na jednym kompie instaluję serwer i udostępniam port COM, a na drugim kompie instaluję klienta, podłączam się do serwera i w systemie tworzy mi się wirtualny port COM. Niby zapewnia to to, o co mi chodzi, ale spokoju mi nie daje, że przecież proste udostępnianie konsoli po telnecie też powinno istnieć tylko nie potrafię znaleźć...

Stąd moja prośba do społeczności tutaj. Może znacie taki program? Koniecznie pod windows.

Dziękuję i pozdrawiam!

JD
Zapraszam na szkolenia CCNA prowadzone w pełni on-line (wykłady oraz ćwiczenia ze sprzętem).
Akademia Sieci LANPulse (www.lanpulse.pl)

Awatar użytkownika
konradrz
CCIE
CCIE
Posty: 400
Rejestracja: 23 sty 2008, 14:21
Lokalizacja: Singapore, SG
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#2

#2 Post autor: konradrz »

Hej. Nie to, żebym jakieś gugle-fu uprawiał, ale parę linków od razu wskakuje.
To jest znany problem, ma nawet swoje RFC.

A niezawodny SO kieruje do tego, co na nieuzbrojone oko daje dokładnie to co potrzebujesz (COM -> TCP).
Ale jest też darmowy ten, ma "server/listening mode", jest też wiele innych linków, m.in. do GitHuba.

Daj cynk dla potomnych, czy któreś z rozwiązań zadziałało. Albo czy ja czegoś nie zrozumiałem :)

Awatar użytkownika
judge dredd
wannabe
wannabe
Posty: 214
Rejestracja: 02 sie 2009, 15:23

Re: Prosty programik do udostępniania portu com po telnecie

#3

#3 Post autor: judge dredd »

Cześć,

Dzięki za odpowiedź. Tak, widziałem te wszystkie rzeczy i właśnie w tym sęk, że wszystkie te rozwiązania zasadniczo sprowadzają się do połączenia po TCP/IP dwóch portów COM, czasem fizycznych, czasem wirtualnych. Jest to zrozumiałe, bo zapewne najczęstszym problemem do rozwiązania w naturze jest potrzeba skorzystania np. z jakiejś drukarki podłączonej fizycznie do portu com jednego komputera z aplikacji na drugim komputerze. No i w tej sytuacji na tym drugim komputerze musimy mieć jakiś niby port com niby podłączony do tej drukarki - ten problem rozwiązują te wszystkie programiki pozwalające na połączenie po TCP/IP fizycznego portu com jednego kompa z wirtualnym portem com na innym kompie.

Oczywiście takie rozwiązanie też sprawdzi się w mojej sytuacji, bo po prostu na jednym kompie mogę sobie stworzyć tyle wirtualnych portów com, co mam fizycznych na drugim kompie i połączyć je po sieci i po prostu w puttym otwierać te wirtualne. Ja jednak miałem nadzieję, że może istnieć rowiązanie prostsze, niewymagające zakładania wirtualnych portów com na kliencie. Czyli tylko na serwerze udostępniam port com, a z klienta tylko się do niego telnetuję... Niestety takiego rozwiązania nie znalazłem... Co ciekawe, te programiki udostępniające fizyczne porty com dla wirtualnych portów com dają możliwość prostego zatelnetowania się do nich, ale niestety na takim prostym telnecie nie da się zarządzać IOS'em - każdy wciśnięty klawisz powoduje pojawienie się podwójnego znaku w konsoli - zapewne wynika to z faktu, że w jakiś specjalny sposób obsługiwane jest wejście i wyjście i każda akcja w każdą stronę powoduje wysłanie danego znaku do urządzenia - to jest zapewne obsłużone w tych specjalnych klientach obsługujących wirtualne porty com i zapewne to właśnie powinno być jakoś specjalnie oprogramowane w takim programiku, którego szukałem... Wygląda jednak na to, że nikt jak do tej pory nic takiego nie wymyślił...

No ale nic, ostatecznie udało mi się zrealizować postawione wyzwanie za pomocą tych wskazówek z GitHuba, które też wskazałeś w ostatnim linku, czyli przy użyciu rozwiązania com0com, które było tam opisane. Swoją drogą fajnie, że ktoś to tak prosto opisał, bo sama dokumentacja tego projektu jest przeokropnie szczegółowa i żeby z niej skorzystać trzeba by się najpierw doktoryzować z komunikacji szeregowej. Jak już się przebrnie przez ten opis, to rozwiązanie okazuje się proste w użyciu:

- Na serwerze uruchamiamy program, który udostępnia wskazany fizyczny port COM na wskazanym porcie tcp zgodnie z RFC2217.
- Na kliencie jest trochę więcej zabawy, bo na nim trzeba w systemie com0com utworzyć dwa wirtualne porty COM, które się wiąże ze sobą w parę.
- Dalej na kliencie uruchamiamy program, który łączy jeden port COM z naszej pary z serwerem po tcp/ip
- Drugi port com z tej pary otwieramy w puttym.
No i to działa bez zarzutu.

Dlaczego więc traciłem tyle czasu, żeby poszukać jednak rozwiązania prostszego? Otóż w moim przypadku mam 14 komputerów i na każdym 4 porty com, do których wszystkich chciałbym się łączyć ze stacji centralnej... Zastosowanie więc rozwiązania com0com spowodowało, że mam teraz na moim kompie 112 portów COM :-P Było trochę zabawy przy ich tworzeniu oraz wymyślaniu sensownej numeracji, żeby się w tym nie pogubić. A tak przy okazji, wyobraźcie sobie, że numery portów com w systemie są 16-bitowe, czyli można mieć w kompie port COM65535... he he ja zawsze używałem góra COM17 i się nie zastanawiałem czy są jakieś ograniczenia w numeracji. No ale dzięki temu udało mi się wprowadzić jaką taką logikę, który port jest do czego i najważniejsze, że wszystko działa jak należy. Teraz mogę w SecureCRT wpisywać komendy do wszystkich urządzeń na raz :-D.

Pozdrawiam!

JD
Zapraszam na szkolenia CCNA prowadzone w pełni on-line (wykłady oraz ćwiczenia ze sprzętem).
Akademia Sieci LANPulse (www.lanpulse.pl)

bart
wannabe
wannabe
Posty: 464
Rejestracja: 09 maja 2005, 10:33
Lokalizacja: Zielona Góra
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#4

#4 Post autor: bart »

Ja zrobiłem z Raspberry Pi prostą konsolę zdalną czyli do RasPi podłączony hub usb i do niego podpięte wszystkie urządzenia sieciowe i albo po ssh na RasPi albo mam też WireGuard zestawiony do serwera w Internecie i zdalnie mogę się wbić na RasPi jak jestem poza siecią firmową.

tasior
Server Admin
Posty: 166
Rejestracja: 19 sie 2013, 14:44

Re: Prosty programik do udostępniania portu com po telnecie

#5

#5 Post autor: tasior »

Zrobilismy cos podobnego, ale na mikrotiku (wystarczy dowolny RB z portem USB, np. RB750Gr3). Po pewnym czasie zaczal nam przeszkadzac nieporzadek z hubem usb i przejsciowkami usb-serial i wymienilismy je na cos takiego:
https://www.ceneo.pl/84684325

Kyniu
wannabe
wannabe
Posty: 3595
Rejestracja: 04 lis 2006, 16:23
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#6

#6 Post autor: Kyniu »

tasior pisze: 25 lis 2022, 14:27 Zrobilismy cos podobnego, ale na mikrotiku (wystarczy dowolny RB z portem USB, np. RB750Gr3). Po pewnym czasie zaczal nam przeszkadzac nieporzadek z hubem usb i przejsciowkami usb-serial i wymienilismy je na cos takiego:
https://www.ceneo.pl/84684325
Srogo. Z tym budżetem to już można szukać MOXY, używanego Cycladesa, etc.

UPDATE:
Na szybko wyklikane linki bez dokładnego analizowania co i jak:
https://www.ebay.com/itm/165755676194?m ... media=COPY
https://www.ebay.com/itm/334528829124?m ... media=COPY
https://www.ebay.com/itm/394251832560?m ... media=COPY
...
https://www.ebay.com/itm/284111651167?m ... media=COPY
CCNA: R&S, Security, Wireless, Collaboration. MCSE: Cloud Platform and Infrastructure, Server Infrastructure. ITIL: Foundation. PPL(A)
https://www.facebook.com/itserviceskielce/ :: https://www.linkedin.com/company/itservicespoland :: https://www.linkedin.com/in/krzysztofkania/

bart
wannabe
wannabe
Posty: 464
Rejestracja: 09 maja 2005, 10:33
Lokalizacja: Zielona Góra
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#7

#7 Post autor: bart »

tasior pisze: 25 lis 2022, 14:27 Zrobilismy cos podobnego, ale na mikrotiku (wystarczy dowolny RB z portem USB, np. RB750Gr3). Po pewnym czasie zaczal nam przeszkadzac nieporzadek z hubem usb i przejsciowkami usb-serial i wymienilismy je na cos takiego:
https://www.ceneo.pl/84684325
Jak dla mnie RasbPi lepsze, bo mam elastyczność i duże możliwości konfiguracji, VPN i inne bajery.

tasior
Server Admin
Posty: 166
Rejestracja: 19 sie 2013, 14:44

Re: Prosty programik do udostępniania portu com po telnecie

#8

#8 Post autor: tasior »

Raczej nie zamienilbym tego rozwiazania na Moxe, czy uzywanego Cycladesa, etc
Co do RPi vs Mikrotik, to tez kwestia gustu. Ja sobie na MT wyklikalem firewall, VPNa i autoryzacje po radiusie w czasie w jakim na RPi nawet apt by sie nie skonczyl.

bart
wannabe
wannabe
Posty: 464
Rejestracja: 09 maja 2005, 10:33
Lokalizacja: Zielona Góra
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#9

#9 Post autor: bart »

tasior pisze: 29 lis 2022, 09:26 Raczej nie zamienilbym tego rozwiazania na Moxe, czy uzywanego Cycladesa, etc
Co do RPi vs Mikrotik, to tez kwestia gustu. Ja sobie na MT wyklikalem firewall, VPNa i autoryzacje po radiusie w czasie w jakim na RPi nawet apt by sie nie skonczyl.
A powiedz mi jak MKT radzi sobie z hub-usb 16 port i powiedzmy robimy restart tika? Ja zauważyłem, że te huby to różne są (różnej jakości) i niektóre mają taki sam serial nr dla danego portu usb w hubie czyli ten sam jeden układ jest często dla każdego portu i potem po restarcie urządzenia zmieniają kolejność czyli coś to było na ttyUSB5 jest na ttyUSB9. Po linuxem poradziłem sobie z mapowaniem albo po unikalnym serial nr albo po unikalnym id portu w kernelu. A jak to wygląda pod MKT?

tasior
Server Admin
Posty: 166
Rejestracja: 19 sie 2013, 14:44

Re: Prosty programik do udostępniania portu com po telnecie

#10

#10 Post autor: tasior »

Jak mialem 8 osobnych przejsciowek w hubie, to ponazywalem jest sobie, np. switch1, router5 itd. Nazwy pozostawaly niezmienne po restartach.
Wspomniany wyzej Startech z poziomu systemu przedstawia sie jako dwa porty USB, po 4 kanaly kazdy:
0 name="usb4" used-by="" device="" channels=4 baud-rate=9600 data-bits=8 parity=none stop-bits=1 flow-control=none
1 name="usb5" used-by="" device="" channels=4 baud-rate=9600 data-bits=8 parity=none stop-bits=1 flow-control=none
Tutaj tez nazwy pozostaja niezmienne po restarcie.
Wejscie na konkretny kanal np.: /system serial-terminal port=usb4 channel=3

bart
wannabe
wannabe
Posty: 464
Rejestracja: 09 maja 2005, 10:33
Lokalizacja: Zielona Góra
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#11

#11 Post autor: bart »

Dzięki za info. Jak przyjdzie MKT to sobie to sprawdzę jak się zachowuje z 16 ports usb hub. Niestety nigdy nie wiadomo na co się trafi i czasami jak poniżej widać niektóre chip per port nie mają swojego unikalnego serial nr i wtedy trzeba kombinować inaczej jak to sobie zmapować pod odpowiednią nazwę.

to przykład

Kod: Zaznacz cały

# ./port.sh 
/dev/ttyUSB3 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/ttyUSB2 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/ttyUSB0 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/ttyUSB5 - FTDI_FT232R_USB_UART_A9KA68FF
/dev/ttyUSB4 - FTDI_FT232R_USB_UART_A9MTAK4H
/dev/ttyUSB1 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/ttyUSB12 - FTDI_FT232R_USB_UART_A9BH3WQY
/dev/ttyUSB11 - FTDI_FT232R_USB_UART_A9EMJBUZ
/dev/ttyACM0 - Cisco_Cisco_USB_Console
/dev/ttyUSB8 - FTDI_FT232R_USB_UART_A9COQWBE
/dev/ttyUSB6 - FTDI_FT232R_USB_UART_A918DJE0
/dev/ttyUSB10 - FTDI_FT232R_USB_UART_A95XIC52
/dev/ttyUSB9 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/ttyUSB7 - FTDI_FT232R_USB_UART_A9AGELFZ

tasior
Server Admin
Posty: 166
Rejestracja: 19 sie 2013, 14:44

Re: Prosty programik do udostępniania portu com po telnecie

#12

#12 Post autor: tasior »

Sprawdz sobie jeszcze /dev/serial/by-path/ jak nie bedziesz przepinal przejsciowek, to tam powinny byc caly czas te same sciezki.
Jednak 16 przejsciowek to juz niezly hardcore. Ja wymieklem przy 8 ;)

bart
wannabe
wannabe
Posty: 464
Rejestracja: 09 maja 2005, 10:33
Lokalizacja: Zielona Góra
Kontakt:

Re: Prosty programik do udostępniania portu com po telnecie

#13

#13 Post autor: bart »

tasior pisze: 02 sty 2023, 08:52 Sprawdz sobie jeszcze /dev/serial/by-path/ jak nie bedziesz przepinal przejsciowek, to tam powinny byc caly czas te same sciezki.
Jednak 16 przejsciowek to juz niezly hardcore. Ja wymieklem przy 8 ;)
O jakich przejściówkach piszesz/myślisz? Ja mam wszystkie kable portem USB wpinane do huba no i na jednym mam już 15 portów zajęte, więc za chwilę będzie trzeba coś kombinować znowu ;)

ODPOWIEDZ