如何将打印重定向到telnet

概述

        代码里关于打印的printf,都是默认定向到/dev/console处的,而用telnet调试问题时,通常是在telnet输入脚本命令,随之会回显关于这个命令的执行情况。除此之外,没有多的打印内容了。

        telnet对于串口来讲,会少了很多应用进程的打印,不利于调试问题。

 实现

 方式一 脚本命令实现

        查询目前终端的tty节点是哪个,比如想查询telnet的,那就在telnet的终端输入

~ # tty
/dev/pts/0

        重定向打印到telnet,我这里查询的telnet id是/dev/pts/0

~ # setconsole /dev/pts/0

        这样打印内容就都会在telnet上输出,此时再接串口,是无法在串口处输入命令的。

 方式二 C语言实现


/* 重定向console到当前tty */

char *tty_name = NULL;
tty_name = ttyname(STDOUT_FILENO);
tty = open(tty_name, O_RDONLY | O_WRONLY);
ioctl(tty, TIOCCONS);
perror("ioctl TIOCCONS")

/* 恢复默认console */

tty = open("/dev/console", O_RDONLY | O_WRONLY);
ioctl(tty, TIOCCONS);
perror("ioctl TIOCCONS");

方式三 

tty_name = "/dev/pts/0"
sprintf(szBuf, "echo \"****************************\" > %s",tty_name);
system(szBuf);

### 回答1: 使用批处理脚本可以实现telnet登录和ping功能。 首先,telnet登录需要用到telnet命令来连接目标主机并输入用户名和密码进行登录。可以使用以下命令实现telnet登录: ``` @echo off echo open 192.168.0.1 23 > telnet.txt echo username >> telnet.txt echo password >> telnet.txt echo exit >> telnet.txt telnet < telnet.txt del telnet.txt ``` 在脚本中,首先创建一个名为telnet.txt的临时文件,然后通过echo命令将连接目标主机和认证信息(用户名和密码)写入telnet.txt文件中。接下来,使用telnet命令来执行telnet.txt文件中的内容,完成telnet登录。最后,使用del命令删除telnet.txt文件。 其次,实现ping功能需要使用ping命令来检查目标主机的连通性。可以使用以下命令实现ping操作: ``` @echo off ping 192.168.0.1 -n 4 ``` 在脚本中,使用ping命令加上目标主机的IP地址和-n标志来指定要发送的ping包数量。上述例子中,发送了4个ping包。 以上就是使用批处理脚本来实现telnet登录和ping功能的简单方法。当然,具体的实现方式还可以根据实际需求进行调整和扩展。 ### 回答2: 使用批处理脚本可以实现telnet登录和ping命令。 要实现telnet登录,可以使用telnet命令并结合输入重定向和延迟命令。以下是一个简单的示例脚本: ``` @echo off echo open 127.0.0.1 23 > telnet.txt echo login > telnet.txt echo password > telnet.txt echo exit > telnet.txt telnet < telnet.txt > output.txt ``` 以上脚本首先创建一个名为telnet.txt的文本文件,并将目标IP地址和端口放入其中。接下来,使用echo命令将登录用户名和密码写入telnet.txt文件中。最后,使用echo命令将退出命令写入telnet.txt文件中。 最后一行代码通过telnet命令打开telnet.txt文件,并将输出重定向到output.txt文件中。 要实现ping命令,可以使用ping命令及其选项。以下是一个简单的示例脚本: ``` @echo off ping 127.0.0.1 -n 4 > output.txt ``` 以上脚本使用ping命令来ping地址为127.0.0.1的主机,并进行4次ping测试。结果将被重定向到output.txt文件中。 这些是简单的示例脚本,可以根据需要进行修改和扩展。 ### 回答3: 要使用批处理实现telnet登录和ping,可以使用批处理中的一些命令和技巧。下面是一个简单的示例: 1. 实现telnet登录: 可以使用telnet命令来实现telnet登录。通过在批处理脚本中使用telnet命令,可以指定主机名或IP地址以及端口号来进行telnet登录。 示例: ``` @echo off telnet 192.168.1.1 ``` 上面的批处理脚本将登录到IP地址为192.168.1.1的主机。 2. 实现ping命令: ping命令可以用于测试网络连接,并确定主机是否可达。通过在批处理脚本中使用ping命令,可以指定要ping的主机名或IP地址。 示例: ``` @echo off ping 192.168.1.1 -n 4 ``` 上面的批处理脚本将ping IP地址为192.168.1.1的主机,连续发送4个ICMP请求。 通过将上述两个命令组合到一个批处理脚本中,您可以在同一个脚本中实现telnet登录和ping测试的功能。 示例: ``` @echo off echo 正在登录到远程主机... telnet 192.168.1.1 ping 192.168.1.1 -n 4 ``` 上述批处理脚本将首先打印出"正在登录到远程主机...",然后执行telnet登录,最后执行ping测试。 以上是一个简单的批处理实现telnet登录和ping的示例,您可以根据您的需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值