分类: LINUX
2006-07-15 21:55:20
#include
#define HOSTNAME "192.168.0.254"
#define PASSWORD "cisco\r"
extern char *ptsname(int);
int
main(int argc, char *argv[])
{
Tcl_Interp *tcl;
tcl = Tcl_CreateInterp();
if (Expect_Init(tcl) != TCL_OK)
{
puts("failure");
return 1;
}
int fd = exp_spawnl("telnet", "telnet", HOSTNAME, 0);
if (fd < 0)
{
puts("exp_spawnl");
return 1;
}
fclose(stdout);
int match, loop;
loop = 1;
while (loop)
{
match = 1;
switch (exp_expectl(fd, exp_exact, "Password: ", 1, exp_exact, "Warwik>", 2, exp_end))
{
case 1:
write(fd, PASSWORD, sizeof(PASSWORD) - 1);
break;
case 2:
write(fd, "exit\r", 5);
break;
case EXP_EOF:
loop = 0;
break;
default:
match = 0;
break;
}
if (match)
{
match = (int)exp_buffer_end - (int)exp_buffer;
fprintf(stderr, "%.*s", match, exp_buffer);
}
}
return 0;
}
![]() |
|