当前位置: 技术问答>linux和unix
关于linux c程序实现自动实现telnet的问题
来源: 互联网 发布时间:2016-11-05
本文导语: 我用无阻塞2个piple结合fock实现了进程间双向管道调用telnet,再自动输入用户名,密码之后,我打算在这个telnet进程中在搞一次telnet,结果就是可以第二重telnet只正确返回"Login:"等我输入用户名,当我输入用户名后,(这...
我用无阻塞2个piple结合fock实现了进程间双向管道调用telnet,再自动输入用户名,密码之后,我打算在这个telnet进程中在搞一次telnet,结果就是可以第二重telnet只正确返回"Login:"等我输入用户名,当我输入用户名后,(这时passwrod:提示符还没有出来)却说登陆错误了。
谁知道这是为什么,在telnet中再telnet一次应该是可以的啊,比如expect之类的程序就可以嘛,但是用c如何实现啊。
谁知道这是为什么,在telnet中再telnet一次应该是可以的啊,比如expect之类的程序就可以嘛,但是用c如何实现啊。
|
通过exec的方式调用telnet如何?
|
你确定你的用户名是给了第二重的telnet ?
有点乱呵
lz这样telnet,再telnet的目的是啥呢?
有点乱呵
lz这样telnet,再telnet的目的是啥呢?
|
我不知道楼主的第二个telnet 是怎么实现的?
难道是这样:
fork()
子进程执行telent 并将标准输入重定向到文件(因为要自动输入用户名,密码)
然后再从该文件中读取一行 “telnet xx.xx.xx.xx”执行一个新的telnet进程?
子进程继承父进程的 打开的描述符,这样的话还是不需要标准输入。那么这个代替标准输入的文件就应该这样写
username
passwd
telnet xx.xx.xx.xx
username1
passwd1
难道是这样:
fork()
子进程执行telent 并将标准输入重定向到文件(因为要自动输入用户名,密码)
然后再从该文件中读取一行 “telnet xx.xx.xx.xx”执行一个新的telnet进程?
子进程继承父进程的 打开的描述符,这样的话还是不需要标准输入。那么这个代替标准输入的文件就应该这样写
username
passwd
telnet xx.xx.xx.xx
username1
passwd1