Portál AbcLinuxu, 10. května 2025 19:19

Dotaz: telnet ve scriptu

29.11.2019 09:37 frakor
telnet ve scriptu
Přečteno: 404×
Odpovědět | Admin

Zdravím. Potřeboval bych radu jak řešit následující problém: Mám zařízení řízené telnetem. Pokud ovládám z terminálu, odešlu commmand a obdržím návratovou zprávu. Pokud odešlu skriptem command dorazí na zařízení a spojení se ukončí takže nevidím návratovou zprávu. Zkoušel jsem i přímo zapisovat do /dev/tcp//, i neco jako: exec 5<>/dev/tcp/192.168.20.98/10000 echo -e "GETSTATUS:" >&5 cat <&5 ale připadá mi jako by se pro každé spojení vytvořilo nové vlákno takže ten výstup ze zařízení zase nevidím. Pořeboval bych aby script odeslal zprávu ze stdin a opačnou komunikaci vrátil na stdout. Nevěděl by někdo jak na to?


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.11.2019 10:02 NN
Rozbalit Rozbalit vše Re: telnet ve scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Otestuj variantu zde uplne dole..
29.11.2019 10:15 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
@ NN . Toto řešení jsem zkoušel, bohužel nefunguje v mém případě. Zůstane to stát a čeká na respose. Poptával jsem se u dodavatele té technologie a bylo mi řečeno že se jedná o ascii komunikaci via TCP, možná tu by byl zakopaný pes. Každopádně telnet klient funguje, ale jen v interaktivním režimu.
29.11.2019 10:30 NN
Rozbalit Rozbalit vše Re: telnet ve scriptu
Debre, co netcat:
echo text | nc host port > response
29.11.2019 11:05 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
Příloha:
Ne a nedaří se. Přiložil jsem výstup z telnetu a z netcatu, jestli to k něčemu bude.
29.11.2019 11:06 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
Příloha:
Ještě ten telnet obr.
29.11.2019 11:41 NN
Rozbalit Rozbalit vše Re: telnet ve scriptu
Mohl by jsi v druhe konzoli pustit:
tcpdump -w telnet.pcap host 192.168.20.98 and port 10000
az skonci telnet dat [ctrl]+[c] a prilozit sem telnet.pcap?
29.11.2019 13:11 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
Příloha:
Zde soubor. Jen pro upřesnění: terminal1 tcpdump -w telnet.pcap host 192.168.20.98 and port 10000

terminal2 telnet 192.168.20.98 10000

Následně v telnetu napíšu příkaz, ukončím telnet, ukončím tcpdump

je - li to takto správně.
29.11.2019 13:17 NN
Rozbalit Rozbalit vše Re: telnet ve scriptu
Neni tam nic ;). Respektive asi spatny interface, ale vzhledem k tomu expectu je to jiz pase ;)..
Jendа avatar 29.11.2019 17:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: telnet ve scriptu
telnet používá defaultně CRLF řádky, echo používá LF řádky a netcat různě. V tom by mohl být ten problém.
29.11.2019 11:46 Ivan
Rozbalit Rozbalit vše Re: telnet ve scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vykasli se na Bash. Python i Perl maji knihovnu pro Telnet komunikaci.
29.11.2019 12:13 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
To by asi bylo jednoduché, bohužel python ani perl neovládám, zatím jsem vystačil s shelem .
Řešení 1× (pepe_)
29.11.2019 12:07 drnest | skóre: 13 | blog: Dřinu nechte strojům
Rozbalit Rozbalit vše Re: telnet ve scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co takhle prográmek expect na scriptování? https://en.wikipedia.org/wiki/Expect
29.11.2019 12:38 frakor
Rozbalit Rozbalit vše Re: telnet ve scriptu
Tak sláva expect funguje. Trochu je to kanon na vrabce ale zaplaťbůh to dělá to co potřebuju. Velký dík všem za ochotu a zájem. Až vybastlím ten skript tak se podělím.
29.11.2019 13:39 debian+
Rozbalit Rozbalit vše Re: telnet ve scriptu
kanon na vrabce
Preco? Podla popisuje je presne urceny na to, co chces ty.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.