php telnet socket发送命令

时间:2020-12-02 15:17:33
使用ffsockopen连接到远程机器上以后  然后使用fputs("command") 发送命令..比如fputs("auth ClueCon\n\r\n\r")认证失败
直接使用telnet 执行该命令可以正确返回 是不是\n\r\n\r回车的问题  \n\r\n\r我的意思是代表两个回车

请高手们指点! 

9 个解决方案

#1


兄弟我急啊....大家帮忙一下啊...

#2


只见过\r\n.未听过\n\r的系统

#3


啊...打反了..反正就是两个回车...fgets()为什么没有取出东西呢?很 郁闷

#4


Show us your codes please...

#5


My program is very simple. I'm new socket. I want to "telnet" a remote computer.
Primary codes just like this:
$fp = fsockopen('ip','port');
fputs($fp,'auth ClueCon\r\n\r\n');
while(!feof($fp)){
echo fgets($fp);
}
fclose($fp);

That's just authentication, if success, then, I will send some commands. Just like "api get_sys_limit" or others.
I just want to execute some commands in a remote computer and I need get the return value.
Just so simple. How should I do?   Many thanks!

#6


1.最好确认是否连接成功
$fp = fsockopen('ip','port',$errno,$errstr,1);
if(!$fp)
{
  exit('Could not connect to host.');
}
2.如果连接成功就应该是发送的协议串不符合socket server的要求。

你试过fwrite($fp,"auth ClueCon\r\n\r\n");了吗?是双引号引起,不是单引号。

#7


连接倒是成功了  fputs 方法不就是 fwrite方法的另一个写法吗?有区别?我用fwrite试试

不过还有个问题哈..我连上之后一条命令发出去  我读这个命令的返回值的时候   一碰到是<stat name="xxxx">

</stat>也就是xml格式字符串的  就读不出来  是不是fgets只能读纯文本内容  遇到标签就跳过? 有没有别的方法能读xml字符串的?

#8


标签需要用文本方式显示

#9


要以什么样的格式?能否举个例子?   php里读文件时不能读取标签形式的字符串?请指教...

#1


兄弟我急啊....大家帮忙一下啊...

#2


只见过\r\n.未听过\n\r的系统

#3


啊...打反了..反正就是两个回车...fgets()为什么没有取出东西呢?很 郁闷

#4


Show us your codes please...

#5


My program is very simple. I'm new socket. I want to "telnet" a remote computer.
Primary codes just like this:
$fp = fsockopen('ip','port');
fputs($fp,'auth ClueCon\r\n\r\n');
while(!feof($fp)){
echo fgets($fp);
}
fclose($fp);

That's just authentication, if success, then, I will send some commands. Just like "api get_sys_limit" or others.
I just want to execute some commands in a remote computer and I need get the return value.
Just so simple. How should I do?   Many thanks!

#6


1.最好确认是否连接成功
$fp = fsockopen('ip','port',$errno,$errstr,1);
if(!$fp)
{
  exit('Could not connect to host.');
}
2.如果连接成功就应该是发送的协议串不符合socket server的要求。

你试过fwrite($fp,"auth ClueCon\r\n\r\n");了吗?是双引号引起,不是单引号。

#7


连接倒是成功了  fputs 方法不就是 fwrite方法的另一个写法吗?有区别?我用fwrite试试

不过还有个问题哈..我连上之后一条命令发出去  我读这个命令的返回值的时候   一碰到是<stat name="xxxx">

</stat>也就是xml格式字符串的  就读不出来  是不是fgets只能读纯文本内容  遇到标签就跳过? 有没有别的方法能读xml字符串的?

#8


标签需要用文本方式显示

#9


要以什么样的格式?能否举个例子?   php里读文件时不能读取标签形式的字符串?请指教...