首页 > 系统相关 >「转」Windows端口转发管理脚本(支持ipv4+ipv6)

「转」Windows端口转发管理脚本(支持ipv4+ipv6)

时间:2024-12-26 17:23:55浏览次数:3  
标签:set goto errorlevel Windows 转发 echo ipv4 ipv6 netsh

将下面代码保存成.bat文件,[b]使用管理员运行。

@echo off
title Windows IPv4/IPv6端口转发管理工具
color 0A

:menu
cls
echo ========================================
echo    Windows IPv4/IPv6端口转发管理工具
echo ========================================
echo  1. 查看所有转发规则
echo  2. 添加IPv4转发规则
echo  3. 添加IPv6转发规则
echo  4. 添加IPv4转IPv6规则
echo  5. 添加IPv6转IPv4规则
echo  6. 删除转发规则
echo  7. 检查防火墙状态
echo  8. 重置所有规则
echo  9. 退出程序
echo ========================================
choice /C 123456789 /N /M "请选择操作(1-9):"

if errorlevel 9 goto :eof
if errorlevel 8 goto resetRules
if errorlevel 7 goto checkFirewall
if errorlevel 6 goto deleteRule
if errorlevel 5 goto addv6tov4
if errorlevel 4 goto addv4tov6
if errorlevel 3 goto addv6tov6
if errorlevel 2 goto addv4tov4
if errorlevel 1 goto showRules

:showRules
cls
echo 当前所有转发规则:
echo ========================================
netsh interface portproxy show all
echo ========================================
pause
goto menu

:addv4tov4
cls
echo 添加IPv4转发规则
call :addRule v4tov4
goto menu

:addv6tov6
cls
echo 添加IPv6转发规则
call :addRule v6tov6
goto menu

:addv4tov6
cls
echo 添加IPv4转IPv6规则
call :addRule v4tov6
goto menu

:addv6tov4
cls
echo 添加IPv6转IPv4规则
call :addRule v6tov4
goto menu

:addRule
echo ========================================
set /p listenport="输入本地监听端口: "
set /p listenaddr="输入本地监听地址(IPv4默认0.0.0.0,IPv6默认[::]): "
if "%listenaddr%"=="" (
    if "%1"=="v4tov4" set listenaddr=0.0.0.0
    if "%1"=="v6tov6" set listenaddr=[::]
    if "%1"=="v4tov6" set listenaddr=0.0.0.0
    if "%1"=="v6tov4" set listenaddr=[::]
)
set /p connectport="输入目标端口: "
set /p connectaddr="输入目标地址: "

netsh interface portproxy add %1 listenport=%listenport% listenaddress=%listenaddr% connectport=%connectport% connectaddress=%connectaddr% protocol=tcp

if errorlevel 1 (
    echo 添加规则失败!
) else (
    echo 添加规则成功!
)
pause
goto :eof

:deleteRule
cls
echo 删除转发规则
echo ========================================
echo 当前转发规则:
netsh interface portproxy show all
echo ========================================
set /p listenport="输入要删除的本地监听端口: "
set /p listenaddr="输入要删除的本地监听地址: "

netsh interface portproxy delete v4tov4 listenport=%listenport% listenaddress=%listenaddr%
netsh interface portproxy delete v6tov6 listenport=%listenport% listenaddress=%listenaddr%
netsh interface portproxy delete v4tov6 listenport=%listenport% listenaddress=%listenaddr%
netsh interface portproxy delete v6tov4 listenport=%listenport% listenaddress=%listenaddr%

echo 删除操作完成!
pause
goto menu

:checkFirewall
cls
echo 检查防火墙状态
echo ========================================
netsh advfirewall show allprofiles state
echo ========================================
choice /C YN /N /M "是否需要关闭防火墙?(Y/N)"
if errorlevel 2 goto menu
if errorlevel 1 (
    netsh advfirewall set allprofiles state off
    echo 防火墙已关闭!
)
pause
goto menu

:resetRules
cls
echo 正在重置所有转发规则...
echo ========================================
netsh interface portproxy reset
echo 所有转发规则已重置!
pause
goto menu

代码来源: https://www.52pojie.cn/thread-1994331-1-1.html

标签:set,goto,errorlevel,Windows,转发,echo,ipv4,ipv6,netsh
From: https://www.cnblogs.com/Ojox/p/18633644

相关文章

  • EasyPlayer.js视频流媒体播放器windows播放器多窗口播放音量的控制方法
    随着互联网技术的飞速发展和移动设备的普及,流媒体服务已经成为人们消费娱乐内容的主要途径之一。流媒体行业已经成为一个巨大的娱乐产业生态,各个环节都在不断发生着创新和变革。这些技术的发展不仅改变了内容的创作和分发方式,也为用户带来了更加丰富和个性化的体验。那么在实际......
  • Windows交叉编译MNN-3.0.0安卓版本库(通过WSL2)
    一、写在前面昨天写了在WIN10上面通过AndriodStudio来编译MNN的demo,通过解压.apk文件来得到libMNN.so文件。今天在记录一下使用WSL2来编译MNN-Andriod。二、WSL2的安装由于不是本篇的主题,故不在这里进行展开,后续会补充步骤链接。三、WSL2编译环境配置1、NDK-Linux安装上篇......
  • windows环境下 redis3.0 主从+哨兵,一站到底!
    redis主从+哨兵,一站到底。没有废话,全是干货简介:本文使用redis版本3.0+,版本不同时,配置会有些许差异。目的:嫌集群太大,用不上;嫌单机太小,有点low。。那就使用主从+哨兵老规矩:用上了,给个赞!!!搭建redis主从的文件结构,看红框一、主从配置1.1主从主从,一主两从。数量可以配置多......
  • 系统攻防-Windows&Linux&远程探针&本地自检&任意代码执行&权限提升&入口点
    知识点:1、远程漏扫-Nessus&Nexpose&Goby2、本地漏扫(提权)-Wesng&Tiquan&Suggester3、利用场景-远程利用&本地利用&利用条件一、演示案例-操作系统-远程漏扫-Nessus&Nexpose&GobyNessusNessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提......
  • 【Nginx】Windows平台下配置Nginx服务实现负载均衡
    1.下载Nginx下载地址:nginx:download2.安装NginxPS:Nginx基本目录如下:●conf:存放Nginx配置文件的目录●docs:存放Nginx文档的目录●html:存放静态html文件的目录●logs:存放Nginx日志的目录●temp:存放临时文件的目录 2.1启动Nginxnginx相关命令:startnginx启动ng......
  • 保姆级·在Windows本地配置并运行Kafka
    目录一.下载并安装Idea:进入idea官网:IntelliJIDEA 下载最新版idea(安装及其他问题请参考其他大佬的文章)二.下载并安装JDK:1.进入idk官网:JDK 下载最新版jdk2.将jdk路径配置到windows环境变量下(JAVA_HOME),并将其添加到path中*配置环境变量具体方法:1.单击windows键​编......
  • Windows更新之后声音消失了?
    前言本人电脑在经过一次更新之后Realtek声卡驱动就出现了问题,问题具体表现如下1.音量标志存在。2.音量输出正常,音量调到近乎满格才会出现断断续续声音,在听音乐以及看剧时几乎听不到背景音乐的声音只能听到一些人声。解决历程最初我去b站尝试寻找解决办法例如:1.通过卸载......
  • Windows 记录开机后应用启动慢的问题
    【声明】CSDN只做转发不做时时更新,最新博客请关注博客园 Windows记录开机后应用启动慢的问题-唐宋元明清2188-博客园最近大屏产品经常报一些开机启动的问题,工厂反馈厂测软件有些模块测试不通过,家里开发测试均发现Launcher等软件首次启动需要加载10多秒。经过小伙伴们初......
  • windows nvm 切换node版本后,npm找不到
    前言在windows使用nvm,管理node版本时,nvminstall14.21.3后,发现在指定node版本的node_modules文件夹中没有对应的npm包,这时有两种方法解决,第一种配置自动下载npm,第二种手动下载npm更改配置文件,自动下载npm命令行运行:nvmroot显示出nvm的安装目录打开nvm文......
  • go windows 下交叉编译godror
    SETCGO_ENABLED=1SETGOOS=linuxSETGOARCH=amd64gobuildwindows 下交叉编译提示gcc_linux_amd64.c:Infunction'_cgo_sys_thread_start':gcc_linux_amd64.c:57:2:error:unknowntypename'sigset_t';didyoumean'_sigset_t'?......