telnet远程执行DOS

目的很简单,半夜躺在床上能监控本本下片的速度,并且远程关机什么的。不需要teamviewer那种把整个屏幕都搬到手机上,网速太慢还容易误操作。之前用AHK写过一个,模拟鼠标键盘发送QQ消息从而发送接受命令,虽然很山寨,还算好用。现在又想到另一个办法,利用windows的telnet服务直接远程执行命令行。

启动PC上的telnet服务

win7默认是不安装telnet功能的,需要安装并且启动系统服务,另外还要指定用来登陆的用户名和密码。这些网上大把的,不写了,只是不想把telnet服务设置为自动开启(不安全),于是写个简单的批处理,方便开启和关闭。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@echo off
echo 测试运行权限...
fsutil >nul || (
echo 请以管理员身份运行.
pause >nul && exit
)
echo ::::::::::::::::::::::::::::::::::::
echo :: 查询TELNET服务状态输入 q ::
echo :: 注意:以下命令需要管理员权限 ::
echo :: 关闭TELNET服务输入 stop ::
echo :: 打开TELNET服务输入 start ::
echo ::::::::::::::::::::::::::::::::::::
:O
set /p input=请输入命令:
if "%input%"=="start" goto A
if "%input%"=="stop" goto B
if "%input%"=="q" goto C
pause
exit

:A
sc config TlntSvr start= demand
sc start TlntSvr
pause
exit

:B
sc stop TlntSvr
sc config upnphost start= disabled
pause
exit

:C
sc query TlntSvr
goto O

注意,需要管理员权限运行

配置networx

对,看网速还是要用它,把下面的脚本保存为vbs文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Set objArgs = WScript. Arguments
'Make up an instance
set SpeedMeter = Wscript.CreateObject("NetWorx.SpeedMeter")

'Start the meter
SpeedMeter.Start

'Wait five seconds
If objArgs.count =0 Then
WScript.Sleep 5000
Else
WScript.Sleep objArgs(0)*1000
End If

'Stop the meter
SpeedMeter.Stop

'Retrieve result
Result = SpeedMeter.Text
WScript.Echo "Result: " & Result

'Free memory
set SpeedMeter=nothing

在远程端执行就能返回网速数据了。

手机上安装atelnet

试了N个android的telnet客户端,最后就这个atelnet稳定点而且中文不乱码(作者是中国人)。并且它还支持自动输入命令和预定义脚本。连接到PC有很多办法,如果是公网IP直接输入就行了,局域网的话需要手机跟电脑处在同一个ip段下。因为用的是校园网,我的方法是用win7自带的hostednetwork连接手机,毕竟我只想躺在床上,离得并不远。尝试登录。。。

好了,现在可以执行shutdown之类的简单命令了,如果你精通命令行,甚至让电脑给你发个截图过来都行。