Schrift
[thread]4335[/thread]

ausgabe von telnet speichern: und bei einem anderen befehl verwenden (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
betterworld
 2004-08-12 00:01
#38018 #38018
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Ich glaube, Rooty meint etwas ganz anderes, und zwar die Moeglichkeit, das Programm "telnet" dazu zu nehmen, eine Protokolllose tcp-Verbindung aufzubauen. Wenn es in einer Pipe verwendet werden soll, ist aber netcat (a.k.a. "nc") viel geeigneter als telnet (siehe man netcat).
Code: (dl )
1
2
my $output = `echo who | nc host.name port`;
if ($output =~ /(\d+\.\d+\.\d+\.\d+)/ and system("ping $1");


Noch viel praktischer und eleganter waere das Modul IO::Socket::INET, siehe perldoc dazu.
ptk
 2004-08-12 19:42
#38019 #38019
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=betterworld,11.08.2004, 22:01]Ich glaube, Rooty meint etwas ganz anderes, und zwar die Moeglichkeit, das Programm "telnet" dazu zu nehmen, eine Protokolllose tcp-Verbindung aufzubauen. Wenn es in einer Pipe verwendet werden soll, ist aber netcat (a.k.a. "nc") viel geeigneter als telnet (siehe man netcat).
Code: (dl )
1
2
my $output = `echo who | nc host.name port`;
if ($output =~ /(\d+\.\d+\.\d+\.\d+)/ and system("ping $1");


Noch viel praktischer und eleganter waere das Modul IO::Socket::INET, siehe perldoc dazu.[/quote]
Aha. netcat kannte ich nicht, stattdessen habe ich immer socket verwendet.
Rooty
 2004-08-15 01:49
#38020 #38020
User since
2004-03-14
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
hat jemand einen tip zu meinem problem ?
esskar
 2004-08-15 04:33
#38021 #38021
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Rooty,14.08.2004, 23:49]hat jemand einen tip zu meinem problem ?[/quote]
hast du dir denn mal die module angeschaut?
Rooty
 2004-08-19 03:55
#38022 #38022
User since
2004-03-14
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
So habs mal wieder selber versucht nur noch eins:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl
#
use IO::Socket;

my $sock = IO::Socket::INET->new(qq(127.0.0.1:1234));

{
print $sock qq(sel 9000\n);
print $sock qq(slogin superadmin 1234 \n);
print $sock qq(fp Gast\n);

$sock->recv($text,128);
print "\nReceived message '", $text,"'\n";


Nun erhalte ich das so als Script-Ausgabe:

Code: (dl )
1
2
3
4
5
6
7
Received message '[TS]
OK
OK
p_id    p_dbid  c_id    nickname        loginname       ip
1       0       1       "Gast" ""      "*.*.*.*"
OK
'



wie kann ich nun den Wert von der p_id verarbeiten
das in diesem befehl automatisch der wert steht.
print $sock qq(kick 1*\n); <-- diese zahl soll von der p_id abgelesen werden.

*1 ist der Wert der p_id
Rooty
 2004-08-19 17:42
#38023 #38023
User since
2004-03-14
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
hmm der wert p_id hat keine wirkung

das script bleibt hängen:

Use of uninitialized value in pattern match (m//) at ./socket.pl line 16.


Line16: { shift(@lines) }
Rooty
 2004-08-20 01:13
#38024 #38024
User since
2004-03-14
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sorry ich hatte den überblick verloren. Aber es funktioniert jetzt. Ich danke euch allen für die Hilfe. Und nochmal sorry wenn ich euch genervt habe. (wohooo)
Rooty
 2004-08-19 19:17
#38025 #38025
User since
2004-03-14
27 Artikel
BenutzerIn
[Homepage] [default_avatar]
...\n\n

<!--EDIT|Rooty|1092950094-->
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2004-08-11 20:59.