ip.ps1

本文介绍了一种在Windows Subsystem for Linux 2 (WSL2)环境中进行端口转发的方法,并详细展示了如何通过PowerShell脚本配置防火墙规则以允许指定端口的进出流量。

$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '"
$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';

if( $found ){
  $remoteport = $matches[0];
} else{
  echo "The Script Exited, the ip address of WSL 2 cannot be found";
  exit;
}

#[Ports]

#All the ports you want to forward separated by coma
$ports=@(80,443,10000,3000,5000,7001,7002,6379,3360,4369,5671,15691,15692,5672,33060);


#[Static ip]
#You can change the addr to your ip config to listen to a specific address
$addr='0.0.0.0';
$ports_a = $ports -join ",";


#Remove Firewall Exception Rules
iex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' ";

#adding Exception Rules for inbound and outbound Rules
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP";
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP";

for( $i = 0; $i -lt $ports.length; $i++ ){
  $port = $ports[$i];
  iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr";
  iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport";
}

<think>好的,我需要帮助用户了解Invoke-Portscan.ps1这个PowerShell脚本的用法和文档。首先,我应该确认这个脚本的来源。根据用户提供的引用,看起来Invoke-Portscan.ps1可能是PowerSploit或Nishang框架的一部分,这两个都是知名的安全测试工具集。 接下来,我需要确定这个脚本的主要功能。通常,端口扫描脚本用于检测目标主机的开放端口和服务,帮助识别潜在的攻击面。Invoke-Portscan可能有不同的参数,比如指定目标IP、端口范围、扫描类型(如TCP SYN扫描)以及线程数等。需要详细说明这些参数的用法,并提供示例命令。 然后,我应该考虑用户可能需要的基本使用步骤。例如,如何导入脚本到当前会话中,如何运行基本的扫描命令,以及如何解释输出结果。同时,要注意提醒用户合法使用,未经授权的扫描可能违法。 另外,用户可能需要了解相关的文档和资源。我应该建议他们查看官方GitHub仓库的文档,或者通过Get-Help命令在PowerShell中直接获取帮助信息。如果脚本属于某个框架的一部分,比如PowerSploit,还需要指出具体的模块位置。 还需要考虑用户可能遇到的常见问题,例如脚本无法导入或执行,这时候可能需要调整执行策略,或者检查脚本的路径是否正确。同时,高级用法如输出结果到文件、使用特定的扫描技术(如UDP扫描)也是需要涵盖的内容。 最后,生成相关问题时要围绕脚本的安装、参数、扫描技术、结果处理以及与其他工具的结合使用,确保用户能进一步探索相关内容。</think>### Invoke-Portscan.ps1 脚本使用说明 Invoke-Portscan.ps1 是PowerShell渗透测试工具集(如**PowerSploit**或**Nishang**)中的网络探测脚本,主要用于批量端口扫描。其核心功能包括: - 多目标/多端口扫描(支持CIDR格式) - TCP SYN、Connect和UDP扫描模式 - 结果输出与筛选 --- #### 基础用法(需管理员权限) ```powershell # 导入脚本 Import-Module .\Invoke-Portscan.ps1 # 基本扫描(默认TCP SYN扫描) Invoke-Portscan -Hosts "192.168.1.0/24" -Ports "80,443,22-25" -Threads 20 # 详细输出示例 $result = Invoke-Portscan -TargetsFile .\targets.txt -Ports 1-1024 -ScanType Connect $result | Where-Object {$_.Status -eq "Open"} | Export-Csv open_ports.csv ``` --- #### 关键参数说明 | 参数 | 说明 | 示例 | |------|------|------| | `-Hosts` | 目标IP/CIDR/域名 | `"10.0.0.1-100"` | | `-Ports` | 端口范围 | `"21,80,443-445"` | | `-ScanType` | 扫描模式(SYN/Connect/UDP) | `-ScanType UDP` | | `-Timeout` | 响应超时(毫秒) | `-Timeout 1000` | | `-Threads` | 并发线程数 | `-Threads 50` | --- #### 文档获取方式 1. **内置帮助**(需先导入脚本): ```powershell Get-Help Invoke-Portscan -Full ``` 2. **官方文档**: - PowerSploit框架文档:`https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/README.md` [^1] - Nishang项目Wiki:`https://github.com/samratashok/nishang/wiki` [^2] --- #### 注意事项 1. 需修改执行策略: ```powershell Set-ExecutionPolicy Bypass -Scope Process ``` 2. SYN扫描要求管理员权限(原始套接字操作) 3. 规避检测建议:`-Delay 500` 参数添加请求延迟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值