windows或mac端口转发

摘要

在内网开发中,由于出于公司安全考虑,部分IP192.168.0.100访问只能针对固定IP192.168.0.200开放,此时我需要通过我的电脑192.168.0.300去访问,由于未对我电脑IP192.168.0.300授权,导致我访问不到,此时,我可以通过端口访问192.168.0.200转发去访问192.168.0.100

windows使用方法

转发端口

# 如果需要通过IP访问,将 127.0.0.1 改为IP, 此时就可以通过IP:80访问
# 127.0.0.1 不能通过IP访问,如果想通过IP访问,将127.0.0.1 改为 192.168.0.200(即自己本机IP)
netsh  interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=80 connectaddress=192.168.0.100 connectport=8080

解释:

listenaddress:监听地址,listenport:监听端口

connectaddress:链接地址,connectport:链接端口

查询:

# 查询目前转发的IP
netsh interface portproxy show all

删除配置:

# 删除转发到本地的 127.0.0.1:80
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=80

mac使用方法

下载

socat 下载 (socat-1.8.0.0.tar.gz )

官网下载

安装

# ./configure --prefix= /安装路径
./configure --prefix=/Users/abraham/software/socat-1.8.0.0 
make
sudo make install

验证

socat -V
which socat

使用

  • TCP-LISTEN:本地端口:指定在本地监听的端口。
  • fork:允许多个连接到该端口的客户端。
  • TCP:目标地址:目标端口:指定转发的目标地址和端口。
# socat TCP-LISTEN:本地端口,fork TCP:目标地址:目标端口
# socat TCP-LISTEN:8888,fork TCP:远程服务器地址:8080
socat TCP-LISTEN:8888,fork TCP:192.168.8.186:10086

此时:便可以通过 http://localhost:8888 来访问到 192.168.8.186:10086

局域网通过 本机的IP:8888 也可以访问到该路径

配置环境变量

vim ~/.bash_profile
## 设置socat环境变量  /Users/abraham/software/socat-1.8.0.0/bin 更换为安装路径
export PATH="/Users/abraham/software/socat-1.8.0.0/bin:$PATH"
# 刷新环境变量使其生效
source ~/.bash_profile

你可能感兴趣的:(macos,windows)