jianxin25351099 发表于 2024-2-2 14:49

关于源目端口的一个问题,求教大佬

内网有web应用,内网可以通过ip+端口访问。现在要实现外网访问,由于没有网络安全设备,内网到外网进行了端口摆渡。现在外网机访问内网应用时,端口是动态的,能不能固定成静态的。
使用命令netstat -a |findstr 192.168.1.115(本机IP)192.168.1.115:52520 52521 是这两个端口与服务器10.10.11.68:8989通讯。 再刷新一下webd页面,我再执行命令,端口就是会变成 192.168.1.115:63280 63281与服务器10.10.11.68:8989通讯。动态端口通过网闸不安全,想固定某个端口比如28119和通过网闸与内网服务器通讯

塞北的雪 发表于 2024-2-2 16:36

没法限定来源端口的,随机的

DEATHTOUCH 发表于 2024-2-2 17:26

我记得最基础的socket是可以提前绑定端口再发起连接的,不过对于浏览器的应该不好搞。
不过你知道nginx和caddy这样的工具吗,可以本地反代,让它们来固定一个端口发起请求。

jianxin25351099 发表于 2024-2-4 10:25

DEATHTOUCH 发表于 2024-2-2 17:26
我记得最基础的socket是可以提前绑定端口再发起连接的,不过对于浏览器的应该不好搞。
不过你知道nginx和c ...

nginx正反向代{过}{滤}理都试过了,流量不会直接到固定的某个端口,caddy这个没有听过{:1_890:}

trover 发表于 2024-2-4 14:55

源端口应该就是随机的啊,毕竟你无法知道发起端的该端口是否被占用

DEATHTOUCH 发表于 2024-2-4 15:39

jianxin25351099 发表于 2024-2-4 10:25
nginx正反向代{过}{滤}理都试过了,流量不会直接到固定的某个端口,caddy这个没有听过

要不试试看caddy,实在不行看看能不能自己写一个代{过}{滤}理?我有空也研究一下还有没有什么方法。

DEATHTOUCH 发表于 2024-2-4 21:03

研究了一下发现这些基本都不能定源端口,不过我找GPT写了一个脚本,自己改了一下,实现一个简单的本地反代

import http.server
import http.client

class ReverseProxyHandler(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
      # 目标主机
      target_host = '127.0.0.1'
      # 目标端口
      target_port = 8080

      source_address = ('127.0.0.1', 55555) # 这里就是固定发起请求的端口了
      target_connection = http.client.HTTPConnection(target_host, target_port, source_address = source_address)

      target_connection.request('GET', self.path)
      target_response = target_connection.getresponse()

      # 转发
      self.send_response(target_response.status)
      for header in target_response.getheaders():
            self.send_header(header, header)
      self.end_headers()
      self.wfile.write(target_response.read())

if __name__ == '__main__':
    # 监听本地端口
    server_address = ('127.0.0.1', 60000)
    httpd = http.server.HTTPServer(server_address, ReverseProxyHandler)
    httpd.serve_forever()


实测浏览器访问 localhost:60000,抓包发现55555端口和8080通信,然后60000把结果返回给浏览器。

你好,再见 发表于 2024-2-5 06:05

nginx反代内网8989端口,你说端口没有固定是不是没有绑定访问ip:端口

jianxin25351099 发表于 2024-2-5 14:24

DEATHTOUCH 发表于 2024-2-4 15:39
要不试试看caddy,实在不行看看能不能自己写一个代{过}{滤}理?我有空也研究一下还有没有什么方法。

这个我也看了一下手册,好像和nginx是一样的

jianxin25351099 发表于 2024-2-5 14:24

你好,再见 发表于 2024-2-5 06:05
nginx反代内网8989端口,你说端口没有固定是不是没有绑定访问ip:端口

现在就是没有办法绑定,而且本端的动态端口是随机的
页: [1] 2
查看完整版本: 关于源目端口的一个问题,求教大佬