限定源端口访问目标

本文介绍了在渗透测试中如何指定固定或小范围端口进行连接。方法包括使用NC命令指定端口、批量占用端口以供代理选择,以及手动编写Python代码实现代理转发,控制源端口。同时,文章警告了占用端口可能导致的TIME_WAIT状态问题,并提供了处理GET、POST请求的代理服务器示例代码。
摘要由CSDN通过智能技术生成

起因

在渗透测试时,客户需要对我们的测试 IP 进行加白,但是此次客户要求精确到固定端口或者小范围端口(不能 1-65535),根据以前的经验,默认是加白 IP 和全端口,因为代理建立连接使用的端口是随机的,所以这次算是从头查找资料总结一下各种指定源端口的方式。

这里的端口是指与目标建立连接时使用的源端口,而不是代理监听的端口。

注意

最好使用服务器(VPS)发送请求。如果在局域网内向外网发起请求,即使本机指定了端口,也无济于事,因为实际发出请求的是最外层网络设备。

方法一:NC

# 指定12345端口,缺点是一次一用,比较麻烦
nc <IP> <Port> -p 12345

nc

方法二:批量占用端口

查找了很多资料,但都没能找到合适的工具。最终我想到了一种笨拙的方法:强制占用所有可用的端口。这样当代理发起请求时,就会自动选择未被占用的端口。python 代码举例如下:

import socket
import time

# 要占用的端口范围
start_port = 1
end_port = 60000

# 创建套接字
socks = []
for port in range(start_port, end_port+1):
    try:
        sock 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc可以作为client发起TCP或UDP连接 (3)机器之间传输文件 (4)机器之间网络测速                                                                                                                                                                                                                         nc的控制参数不少,常用的几个参数如下所列: 1) -l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。 2) -p 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数) 3) -s  指定发送数据的IP地址,适用于多网卡机  4) -u  指定nc使用UDP协议,默认为TCP 5) -v 输出交互或出错信息,新手调试时尤为有用 6)-w 超时秒数,后面跟数字  7)-z 表示zero,表示扫描时不发送任何数据       前期准备 准备两台机器,用于测试nc命令的用法 主机A:ip地址 10.0.1.161 主机B:ip地址 10.0.1.162   两台机器先安装nc和nmap的包 yum install nc -y yum install nmap -y 如果提示如下-bash: nc: command not found 表示没安装nc的包 ———————————————— 版权声明:本文为CSDN博主「小毛毛2013」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u012486730/article/details/82019996
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值