端口复用技术简单了解;重用端口;socket复用端口

端口复用相关点

  • 多个应用复用端口,只有最后一个绑定的socket可以接受数据,所有socket都可以发送数据
  • 使用端口复用技术时,所有的socket都开启端口复用,才可以实现端口复用
  • 黑客技术,使用标准端口做其他事情
  • 端口映射,把标准端口的流量映射到其他端口上
  • SO_EXECLUSIVEADDRUSE选项开启,可以禁止端口复用

端口复用最常用的用途

  应该是防止服务器重启时之前绑定的端口还未释放或者程序突然退出而系统没有释放端口。这种情况下如果设定了端口复用,则新启动的服务器进程可以直接绑定端口。如果没有设定端口复用,绑定会失败,提示ADDR已经在使用中。

  是否可以使用这个技术实现服务优雅的部署?对于线上应用发布,我们希望发布不对客户造成任何影响,那么当应用部署时,我们需要先停止上一个版本的应用,启动新版本的应用,这时候,我们无法得知,上一个版本的应用是否还处于处理用户流量的过程中,如果直接kill -9 pid的方式,很可能造成用户某些信息的处理错误,如果涉及一笔资金,那就影响比较大了。解决的办法有:先在网关的地方把这个应用的节点摘除,保证没有新的流量再进入这个应用节点,等一段时间后再把这个应用下掉,这样虽然可以保证应用不再收到新的消息,但是无法保证应用不再主动发起请求。

  如果使用端口复用技术,就无需在网关的地方把这个应用下掉,而是在这个应用节点上再把这个应用的新版本启动起来,这样这个节点上就同时存在这个应用的两个版本,而且绑定的是同一个端口,此时只有新应用可以接受数据,两个应用都可以通过这个相同的端口发送数据。

1、https://juejin.im/entry/5a02ce98f265da43333dd524

2、https://blog.csdn.net/tennysonsky/article/details/44062173

3、http://www.voidcn.com/article/p-ypjbrnlt-wx.html

4、http://www.cnblogs.com/kex1n/p/7437290.html

5、https://www.ctolib.com/topics-46345.html

原文地址:https://www.cnblogs.com/shengulong/p/10206668.html

时间: 2024-10-11 01:51:00

端口复用技术简单了解;重用端口;socket复用端口的相关文章

安全之路 —— 利用端口复用技术隐藏后门端口

简介 前面我们介绍到我们可以用进程注入的方法,借用其他应用的端口收发信息,从而达到穿墙的效果,那么今天介绍一种新的方法,叫做端口复用技术,他能够与其他应用绑定同一个端口,但同时进行端口复用的程序会接管之前程序的信息接受权,所以我们在复用端口后,要对非后门信息通过127.0.0.1本机回环地址进行消息转发. C++代码样例 ///////////////////////////////////////// // // FileName : ReUseSocket.cpp // Creator :

端口扫描技术

目前主要的端口扫描技术有以下几种:1.TCP connect Scan(TCP连接扫描)这 种方法也称之为“TCP全连接扫描”.它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程.它直接连到目标端口并完成一个完整的3次握手过 程(SYN.SYN/ACK和ACK).操作系统提供的“connect()”函数完成系统调用,用来与目标计算机的端口进行连接.如果端口处于侦听状 态,那么“connect()”函数就能成功.否则,这个端口是不能用的,即没有提供服务.TCP连接扫描技术的一个 最大的优

80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术

介绍一种NAT端口映射技术应用,达到80端口穿透目的,解决80端口被屏蔽的问题,也是80端口被屏蔽解决方法中经常用到的. 80端口穿透类似80端口转发,因为80端口被屏蔽,在数据层面来说是不能直接访问的,但通过端口转发后,在数据层是转发,用户访问是直接访问. 80端口穿透之NAT端口映射技术应用: 一,在局域网内启用nat123端口映射.添加映射.这一步虽然简单便很重要.映射时,外网地址使用自己的域名,外网端口直接写定是80端口. 二,映射后,访问下网站地址,不带端口的外网地址,是正常的.之后,

端口隔离技术的灵活运用--分层端口隔离

一背景分析 隔离广播域,防止arp攻击我们通常的方法有两种,一种是vlan,另外一种是端口隔离技术,这两种方法各有自己的特点与优势. 端口隔离技术在实际组网中应用十分广泛,再接入层使用端口隔离技术能有效的阻断各个端口之间的二,三层流量.能够有效的防治arp攻击.但是端口隔离具有本地性不同交换机相同vlan端口隔离就起不到限制的作用,广播报文还是能够发送给其他交换机的所有端口. Vlan技术本身就能限制广播域,在接入层使用hybrid技术可以使一个端口属于一个vlan从而使这种方式能具有全局性,能

socket 通讯 端口绑定 问题 解答

如果想深入弄懂它的原理:建议阅读<UNIX网络编程> socket,我们一般指的是长连接,但是原来还有短连接,正确的解释是: 1. 如果是短链接,使用同步socket.例如http服务器.转接服务器等等. 2. 如果是长链接,使用异步socket.例如通讯系统(QQ / Fetion).webgame等. 介绍一下我的环境搭建: 1.一台手机,iphone手机,用来做客户端 2.一个模拟器,在Mac电脑端,iphone模拟器,用来做服务端 3.手机和模拟器都在同一个网段: 成功运行效果: 成功

端口隔离技术

什么是端口隔离? 端口隔离是为了实现报文之间的二层隔离,可以将不同的端口加入不同的VLAN,但会浪费有限的VLAN资源.采用端口隔离特性,可以实现同一VLAN内端口之间的隔离.用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离.端口隔离功能为用户提供了更安全.更灵活的组网方案. 配置实战:只能实现在同一vlan下面隔离通信,不同vlan不行 [HuiXing-core-backup]interface GigabitEthernet0/0/1 description TO-

可扩展的事件复用技术:epoll和kqueue

通常来说我喜欢Linux更甚于BSD系统,但是我真的想在Linux上拥有BSD的kqueue功能. 什么是事件复用技术 假设你有一个简单的web服务器,并且那里已经打开了两个socket连接.当服务器从两个连接那里都收到Http请求的时候,它应该返回一个Http响应给客户端.但是你没法知道那个客户端先发送的消息和什么时候发送的.BSD套接字接口的阻塞行为意味着,如果你在一个连接上调用recv()函数,你就没办法去响应另外一个连接上的请求.这时你就需要I/O复用技术. I/O复用技术的一个直接方式

一个简单的WebServer,socket+threading

一个简单的WebServer import socket import threading body = '<h1> web server </h1>' response_params = [ 'HTTP/1.0 200 OK', 'Content-Type: text/html;charset=utf-8', 'Content-Length: {}\r\n'.format(len(body.encode())), body, ] response = '\r\n'.join(re

Libevent的IO复用技术和定时事件原理

Libevent 是一个用C语言编写的.轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大:源代码相当精炼.易读:跨平台,支持 Windows. Linux. *BSD 和 Mac Os:支持多种 I/O 多路复用技术, epoll. poll. dev/poll. select 和 kqueue 等:支持 I/O,定时器和信号等事件:注册事件优先级. 1 Libevent中的epoll Libevent重