网站首页 > 博客文章 正文
翻译:h4d35
预估稿费:100RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
引言
想做端口扫描,NMAP是理想的选择,但是有时候NMAP并不可用。有的时候仅仅是想看一下某个端口是否开放。在这些情况下,PowerShell确实能够大放异彩。接下来我们聊聊如何使用PowerShell实现基本的端口扫描功能。
本文中用到的PowerShell命令
PowerShell端口扫描器
命令分解
1)1..1024 - 创建值为从1到1024的一系列变量
2)| - 管道运算符,将上述对象传递给循环体
3)% - 在PowerShell中,%是foreach对象的别名,用来开始一个循环。循环体为接下来使用大括号{}括起来的内容
4)echo - 将输出打印至屏幕
5)new-object Net.Sockets.TcpClient - 新建一个.Net TcpClient类的实例,它允许我们和TCP端口之间建立socket连接
6).Connect("10.0.0.100",$_)) - 调用TcpClient类的Connect函数,参数为10.0.0.100和端口$_。其中$_这个变量表示当前对象,即本轮循环中的数字(1..1024)
7)"Port $_ is open!") - 当程序发现一个开放的端口时,屏幕打印『Port # is open!』
8)2>$null - 告诉PowerShell遇到任何错误都不显示
上述示例中扫描的端口是1-1024,但是可以很容易改成如(22..53)、(8000..9000)等端口范围。
在PowerShell中另外一种可用的方法是使用Test-NetConnection命令。该命令使用方法差不多,还能够输出更多有用的信息。
Test-NetConnection 针对某IP段中单个端口的扫描
Test-NetConnection的最大的不足是:该命令是在4.0版本的PowerShell中才引入的。
命令分解
1)foreach ($ip in 1..20) {} - 循环遍历数字1到20
2)Test-NetConnection - Test-Connection是一个用来测试不同种类的网络连接的工具
3)-Port 80 - 检查80端口是否可用
4)-InformationLevel "Detailed" - 提供详细的输出信息
5)192.168.1.$ip - 针对列表中的IP地址,依次尝试向80端口发起连接。在本例中,变量$ip从1循环至20
当然,构建一个可以遍历多个系统的多个端口的扫描器也是可行的。
针对某IP段 & 多个端口的扫描器
这一版本的扫描器会对10.0.0.1-20IP段的1-1024端口进行扫描。注意,这可能需要花费较长时间才能完成扫描。一种更有效的方法是手动指定目标端口,比如接下来介绍的:
针对某IP段 & 多个端口的扫描器v2
额外奖励 - 测试出口过滤
许多安全的网络环境会开启出口流量过滤控制,以限制对某些服务的出口协议的访问。这对于提升HTTP/HTTPS/DNS通道的安全性是有好处的,原因之一就在于此。然而,当需要识别出可替代的出站访问时,我们可以在内网中使用PowerShell来评估网络防火墙上的出口过滤器。
PowerShell测试出口过滤器
有关PowerShell出口测试的更多信息,请参考Beau Bullock在*Black Hills Information Security中发表的文章:http://www.blackhillsinfosec.com/?p=4811
结论
PowerShell是一个强大的工具,一旦在Windows环境启用了PowerShell,则几乎可以用PS完成任何事情。大家如果有其他相关的PowerShell独门绝技,欢迎留言评论。
猜你喜欢
- 2024-09-08 就问你酷不酷 定制自己的动态壁纸
- 2024-09-08 Jmeter关联组件--正则表达式提取器详解
- 2024-09-08 电脑开机提示函数不正确,解决方法
- 2024-09-08 任务栏卡死解决办法 任务栏卡死重启还是一样的处理方法
- 2024-09-08 一条命令解决windows10设置搜索不了教程
- 2024-09-08 PowerShell一次性替换多个文件的名称
- 2024-09-08 win10网络图标丢失,怎么解决(win10网络图标丢失,怎么解决问题)
- 2024-09-08 win10怎么快速重装所有应用程序(window10如何重装)
- 2024-09-08 win10任务栏无反应怎么办(won10任务栏均无反应)
- 2024-09-08 Linux 下你所不知道的 7 个 SSH 命令用法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)