最近要给公司路由器写一个图形化的监控软件
路由器有telnet 23 端口开着,我用tcp能连上
然后发什么数据和服务器交互呢,我看过telnet的RFC还不是很明白
有没有高手给一个完整的登录上去的数据来往的 示例?
比如IAC DO XXX
IAC WILL XXX
。。。
。。。
关键在如何发用户名和密码
还有后面如何发命令和接受数据
1.你可以用你PC机的超级终端连到那个路由器上,通过截包来看其数据的收发和答复.
HOST--->CLIENT
IAC DO 0X18 IAC DO 20 IAC DO 23 IAC DO 27 (都是十六进制)
CLIENT--->HOST
IAC WILL 0X18 IAC WONT 20 IAC WONT 23 IAC WONT 27
-----------------------------------------------------------------------
IAC SB 0X18 01 IAC SE
IAC SB 0X18 00 41 4E 53 49 IAC SE (终端为ANSC类型)
-----------------------------------------------------------------------
IAC WILL 0X03 IAC DO 01 IAC DO 1F IAC WILL 05 IAC DO 21
IAC DO 0X03 IAC WILL 01 IAC WONT 1F IAC DONT 05 IAC WONT 21
-----------------------------------------------------------------------
IAC DONT 0X01 IAC WILL 01
IAC WONT 0X01 IAC DO 01
-----------------------------------------------------------------------
以上是SCO UNIX的会话过程,不同的主机会有不同的会话,但都是大同小异.
2."关键在如何发用户名和密码
还有后面如何发命令和接受数据"
==========================
telnet到主机有一个会话过程,当你的程序connect()到主机后,主机会立刻给你发回会话,询问你(客户端)的一些情况,如终端类型等,然后你回答它的问题,这些会话完成之后,主机就会给你送回login的登陆信息,表示会话完毕,你可以登陆!然后就是纯数据的交换了.
有相应的套接口函数可以调用,发送:send(...),接受:read(...);当你接受到来自服务端的命令后,你要答复它,用send()送出,当所有的会话结束以后,从服务器上来得就是纯数据了,要你填写login的登陆信息,密码,你用send()一个一个字符送过去.对方会给你回送回来,然后你read()接受然后显示出来就可以了.
你可以到网上下载一些telnet客户端的例子看看,很多的.