ray8888
V2EX  ›  问与答

问个计算机通讯端口问题,一直没搞懂

  •  
  •   ray8888 · Jan 7, 2018 via iPhone · 2898 views
    This topic created in 3080 days ago, the information mentioned may be changed or developed.
    比如我有个服务通过 1234 端口对外提供,我防火墙入站肯定要把 1234 端口打开,那出站还需要打开 1234 端口吗?还是说服务提供数据,外面的客户端主动来取,我不用开出站的 1234 ?? http 是不是这种客户端主动取,服务端不会主动发的呢?
    10 replies    2018-01-07 22:32:26 +08:00
    phoebuss
        1
    phoebuss  
       Jan 7, 2018 via Android
    按照 C-S 模型,服务器只响应请求不会主动联系客户端…出站要开所有端口,这样才能选择随机端口建立反向连接
    WordTian
        2
    WordTian  
       Jan 7, 2018 via iPhone
    1234 的端口出站应该需要开吧,不开出站,客户端怎么能收到回复?
    ray8888
        3
    ray8888  
    OP
       Jan 7, 2018 via iPhone
    @WordTian 所以就是我想问的,服务端到底是主动发出去还是等客户端来取?主动发,那肯定要开出站,等客户端取,那就不用吧,我查了一下,http 协议好像是客户端取,服务端不主动发的?
    xenme
        4
    xenme  
       Jan 7, 2018 via iPhone   ❤️ 1
    所谓出站入站都是针对第一个数据包,也就是建立连接的第一个请求。

    很显然你的服务是被动响应,请求都是客户端发往本机 1234,对你本机来说需要开对应协议( tcp/udp )等的入站规则即可。
    ray8888
        5
    ray8888  
    OP
       Jan 7, 2018 via iPhone
    @phoebuss 服务端出站开所有端口,那对应的客户端是哪个端口接受?(相对应的是不是就是客户端的入站规则?要开所有的入站端口了?)不是很了解,望赐教,谢谢
    ray8888
        6
    ray8888  
    OP
       Jan 7, 2018 via iPhone
    @xenme 如果是这样,那就和我想的一样了,服务端不需要开出站规则
    h4lbhg1G
        7
    h4lbhg1G  
       Jan 7, 2018
    出站的话 看什么协议了,比如 ftp,21 只传输控制指令,数据传输好像是临时协商的一个高位端口传输的。
    WordTian
        8
    WordTian  
       Jan 7, 2018 via iPhone
    @ray8888 服务端一般是被动响应。感觉具体还得看防火墙的拦截机制,不同防火墙应该还不太一样。
    yingfengi
        9
    yingfengi  
       Jan 7, 2018 via Android
    源地址,目的地址,源端口,目的端口
    你是用户请求的目的地址,端口
    jzy
        10
    jzy  
       Jan 7, 2018 via iPhone
    开入站规则即可
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1161 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:36 · PVG 01:36 · LAX 10:36 · JFK 13:36
    ♥ Do have faith in what you're doing.