Windows 平台使用自带工具进行端口转发

原文:Windows 平台使用自带工具进行端口转发

一、前言

   系统:Windows 10 或 Windows Server

二、应用场景

    在不能直接访问计算机某些端口的时候,我们可以使用 Windows 系统自带的端口转发工具转发到能够直接访问的计算机端口,以便进行网络访问。

三、操作步骤

   注意:以下操作需要在【以管理员身份运行】【命令提示符】进行。

   1、建立端口转发规则:192.168.1.100:33890 <=> 192.168.1.101:3389

   在 192.168.1.100 上执行:
netsh interface portproxy add v4tov4 listenaddress=192.168.1.100 listenport=33890 connectaddress=192.168.1.101 connectport=3389
# listenaddress 监听地址,如果本机有多个地址,且需要监听所有地址,此参数可以省略。
# listenport    监听端口,用于监听网络请求的端口。
# connectaddress连接地址,用于转发网络请求的地址。
# connectport   连接端口,用于转发网络请求的端口。
# 可以简写为:
netsh interface portproxy add v4tov4 listenport=33890 connectaddress=192.168.1.101 connectport=3389

执行完毕后,我们可以通过访问 192.168.1.100:33890 来访问 192.168.1.101:3389 了。如果192.168.1.100 开启了防火墙,需要在防火墙放行 33890 端口。

   2、显示端口转发规则:

   在192.168.1.100 上执行:
# 显示所有转发规则
netsh interface portproxy show all
 
# 仅显示 IPv4ToIPv4 的转发规则
netsh interface portproxy show v4tov4
 
# 仅显示 IPv6ToIPv6 的转发规则
netsh interface portproxy show v6tov6
 
# 仅显示 IPv4ToIPv6 的转发规则
netsh interface portproxy show v4tov6
 
# 仅显示 IPv6ToIPv4 的转发规则
netsh interface portproxy show v6tov4

3、删除端口转发规则

       在192.168.1.100 上执行

# 如果在创建端口转发规则的时候有 listenaddress ,在删除的时候需要加上 listenaddress
netsh interface portproxy delete v4tov4 listenaddress=192.168.1.100 listenport=33890
 
# 如果在创建端口转发规则的时候没有 listenaddress ,在删除的时候不用加 listenaddress
netsh interface portproxy delete v4tov4 listenport=33890

lftp命令 非常详细的lftp指令

lftp命令_非常详细的lftp指令_weixin_39828457的博客-CSDN博客

lftp的意思是用lftp登录到ftp服务器上

lftp ip -p port -u user,’password’ -e’commands ; bye’

下面介绍下ftp里面常用的指令

1、登录ftp

代码:lftp 用户名:密码@ftp地址:传送端口(默认21)

用法

(1)lftp username:password@127.0.0.1:21 回车

(2)lftp username@127.0.0.1 回车 ##默认21端口 回车后输入密码

(3)lftp 127.0.0.1 回车 ##回车后 login 登录

(4)lftp 回车 –> open 127.0.0.1 –> login 登录


2、lftp中文乱码问题

如果登录后看到的都是中文乱码(因为一般本地都是utf-8的编码),怎么半呢?可以用 set 命令来解决:

set ftp:charset gbk(或者 gb2312 或 utf-8) ##设置ftp端的编码格式

set file:charset utf-8 (…同上) ##设置本地编码格式

附:set命令的技巧

(1)输入set 查看已经设置好的命令

(2)set -a 查看所有可以设置的命令


3、查找ftp端文件

ls *.txt ##查找当前目录下的所有txt文件

ls ./123/ ##列出123目录下所有文件

find . -name “*.txt” ##递归查找站点上所有的txt文件

find ./xx -name “*.txt” ##查找xx目录下所有的txt文件

附1:

ls第二次读取的是本地缓存,可以用 rels 代替 ls

或者catch off / catch on 来开关catch,catch flush清空本地catch

附2: 浏览本地目录的命令可用!ls, 如 !ls /usr/local/bin/

4、下载文件下载文件之前要先设置好本地的目录,用来存放下载的文件

lcd /home/123/web ##设置本地存放目录 默认为 /home/usr

get 123.txt ##下载123.txt文件到 /home/123/web 中

get -c 123.txt ##断点续传下载

mget *.txt ##批量下载所有txt文件

mget -c *.txt ##断点续传

mget -c ./123/aaa/*.txt ##断点续传、批量下载ftp端aaa目录下的所有txt文件

pget -c -n 10 file.dat

##以最多10个线程以允许断点续传的方式下载file.dat

##可以通过设置 set pget:default-n 5 的值而使用默认值。

mirror aaa/

##将aaa目录整个的下载下来,子目录也会自动复制 本地自动建立目录

5、上传文件put 123.txt ##同下载

mput *.txt ##同下载

mirror -R aaa/ ##同下载

6、设置被动/非被动模式set ftp:passive-mode 1 ## 1 被动 0非主动

多任务处理ctrl+z ##将当前进行的任务移交后台处理

wait ##将后台处理任务调至前台查看

jobs ##查看后台进行的任务列表

kill all 或者 job_no ##删除所有任务 或 指定的任务

##将任务加入任务列表

queue get 123.txt

queue put 234.txt

queue mirror aaa/

queue ##查看任务列表j

obs ##查看后台任务列表

queue start ##开始任务列表

queue stop ##停止任务列表


7、其他命令

定义别名:alias []

alias less more

alias reconnect “close; cd .”

直接输入 alias 即可看到目前定义了那些别名。如果只输入 alias name 的话, 则是取消 name 这个别名。

bookmark SUBCMD

设定书签, 可将目前站台及所在目录设成书签, 下次可直接进来, 不用再 cd 来 cd 去的

bookmark add name 用来新增名称为 name 的书签

bookmark del name 删除名称为 name 的书签

bookmark list 显示目前有设定那些书签(另外直接打 bookmark 和 bookmark list 的结果一样)

bookmark edit 呼叫编辑器修改书签 (~/.lftp/bookmarks)

cd 切换远端目录

cache SUBCMD

管理 lftp 的 cache

rels []

从 cache 中显示远端档案列表

rels 则不会从 cache 中读取

recls opts [path/]pattern

从 cache 中显示远端的档案列表, 应该算是 ls 的加强版, 有很多参数可用,应该是可用来产生各种不同>的档案列表以供其他程式使用。

recls 则不会从 cache 中读取

du options

计算远端整个目录占用容量

get OPTS -o

抓取远端档案

get rfile -o lfile

抓 rfile 到本地改名为 lfile

-c 为续传

-E 抓档完成后, 将远端的档案砍了

-a 为 ascii mode, 预设为 binary mode

-O 设定 base directory 为本地端放档案的目录

mget OPTS

下载远端档案(可用 wildcard expansion 也就是 *)

pget OPTS -o

使用多个连结来下载档案, 预设为五个。

-n 3 为叁个连结

jobs -v

显示目前有那些程序在背景执行

-v 显示详细的资讯(-v 可多加几个来显示更详细的资讯)

lcd

切换本地端的目录

mirror OPTS remote [local]

下载整个目录(楼上的 get 只能用来抓档案)

-c 续传

-e 这个要小心一些, 比较远端和本地端的档案, 假如远端没有的, 就将本地端的档案删除, 也就是将本地端和远端资料同步。

-R 上传整个目录

-n 只下载较新的档案

-r 不用递回到目录中

–parallel=n 同时下载 n 个档案(预设一次只下载一个)