tcp/ip端口可以设置端口重用,端口重用后,客户端同时连接两个端口,接受来自两个端口的数据
https://github.com/carla-simulator/rpclib c++中的rpc,支持端口重用,数据使用msgpack二进制串行化数据,使用简单,操作如下 服务端
在高并发、短连接的场景下,kube-proxy ipvs 存在 rs 删除失败或是延迟高的问题,社区也有不少 Issue 反馈,比如kube-proxy ipvs conn_reuse_mode setting causes errors with high load from single client[1]。文本对这些问题进行了梳理,试图介绍产生这些问题的内部原因。由于能力有限,其中涉及内核部分,只能浅尝辄止。
setsockopt可以设置各类套接字的一些配置属性。 如: SO_REUSEADDR ——防止服务器重启受阻 SO_REUSEPORT – 开启端口重用,允许多个套接字bind/listen同一个端口 SO_KEEPALIVE – 心跳机制 TCP_NODELAY – 取消Nagle(取消小包合并) CLOEXEC:fork之后写时复制,因此在未写时与父进程共享文件(指向相同)。但如果子进程此时采用exec替换进程,需要在替换之前关闭无用的fd。如果相应的fd非常多,这会很难做到。因此指
Socket模块简单理解就是对socket套接字的封装,当然不是简单的对socket套接字接口的封装,还需要实现一些方法,比如启动非阻塞通信、创建客户端连接、创建服务器连接等。
在TCP断开连接四次挥手时, 主动发起关闭方会产生 TIME_WAIT, TIME_WAIT 是 TCP 协议可靠性设计的重要一个环节, 虽说增强了可靠性, 但是对于高并发场景下, 会产生大量的 TIME_WAIT, 导致高峰时段无端口可以使用.
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它使得客户端和服务器之间的数据交流变得更加实时、高效。相比传统的 HTTP 请求-响应机制,WebSocket 直接建立连接,并通过数据帧(Data Frame)来交换消息,从而避免了每次通信都要建立、断开连接的开销。
两个tcpclient的连接原理: A发送syn,B因为是client所以发回一个rst ack包,要求断开连接 但是B此时连A发送syn,A会认为是端口重用,此时会返回syn ack包要求重传, B收到syn ack后认为A是服务器返回了,所以发回了ack包,至此三次握手成功
nat协议做ip地址映射,实现网段映射,ip/nat打洞技术(hole punching)
防火墙的源NAT可以分为两种:只进行地址转换和同时进行地址和端口转换。仅地址转换模式包括 NAT No-PAT,而地址和端口转换模式包括 NAPT、Smart NAT、Easy IP 和三重 NAT。
timewait在tcp结束后主动关闭一方的等待时候的行为。图片中的服务和客户端描述不是非常准确,这里客户端是主动关闭一方。(在web服务器模型下,web服务器也可主动关闭客户端,这个时候web服务器就变成了四次握手的客户端)。
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() print(request) # 服务器拼接响应报文并回复 response_line = 'HTTP/1.1 200 OK\r\n' response_hea
这个是采集基础,最好熟悉一下 $ch = curl_init(); # 设定url和把结果返回,是否返回头部 curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->ch, CURLOPT_HEADER, 1); # cookie文件设定 curl_setopt($this->ch, CURLOPT_COOKIEJAR,
重要:串口设置的时候,终端仿真模式和波特率必须设置一致,在这里统一设定终端仿真模式为vt100,波特率设置为115200。
Caused by: Java.net.BindException: Permission denied <null>:80
好久没有写SQL SERVER 了,不过这次不是什么好的小写,有一种新型的恶意软件已经黑入众多的SQL SERVER 数据库服务器中,这个后门称为Maggia ,已经感染了全球数百台的主机。
因此有了OSI这样一个抽象的网络通信参考模型,按照这个标准使计算机网络系统可以互相连接。
几天前和朋友在泡茶的时候,谈起了渗透工程师的面试,当时HR问他,CS怎么上线Linux呢,这时他反问我,我说我不知道,他在纸上写下CrossC2后,嘴里说着”小菜鸡“,转身离开了。
多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
在域内,有很多种手法可以获取域控权限,包括不限于利用溢出类的漏洞如ms17-010、抓取域管密码,当然也有今天的主角,利用ntlm relay。ntlm relay手法有很多,比如利用WPAD、LLMNR等“被动性”攻击,利用打印机等“主动性”攻击,核心就是中继了他人的net-ntlm。但是呢,利用工具监听的都是本地445端口,受害者机器与我们通信的也是445端口,而在windows上445端口是占用的,难道利用ntlm relay手法只能基于linux机器?
import socket help(socket) Functions: socket() -- create a new socket object socketpair() -- create a pair of new socket objects [*] fromfd() -- create a socket object from an open file descriptor [*] gethostname() -- return the current hostname gethostbyname() -- map a hostname to its IP number gethostbyaddr() -- map an IP number or hostname to DNS info getservbyname() -- map a service name and a protocol name to a port number getprotobyname() -- map a protocol name (e.g. 'tcp') to a number ntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order htons(), htonl() -- convert 16, 32 bit int from host to network byte order inet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format inet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89) ssl() -- secure socket layer support (only available if configured) socket.getdefaulttimeout() -- get the default timeout value socket.setdefaulttimeout() -- set the default timeout value create_connection() -- connects to an address, with an optional timeout and optional source address. 简单的介绍一下这些函数的作用: 一、socket类方法(直接可以通过socket 类进行调用) 1、gethostbyname() -- map a hostname to its IP number
A: executor启动失败,首先看提示是否参数问题,是否端口重用,如果都不是,根据控制台提示的路径,查看saturn-nohup.out的日志。
多态 接口重用,一种接口,多种实现 实例 多态 静态方法 @staticmethod 在函数前边加修饰@ 为了 让这个方法和类没关系 @classmethod @类方法只能访问类变
在前面的文件中,我们介绍了linux网络编程中与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。
Nmap是一个开源网络扫描工具,用于侦察/扫描网络。通过扫描发现主机、端口和服务及其版本。是最受欢迎的渗透工具之一。
在虚拟化云桌面中,关于外设的使用一直有两种基本功能, 设备的透传(passthrough)与重定向(redirection).
使用NPS进行内网穿透——实现远程访问外部网络电脑 参考文档:https://ehang-io.github.io/nps/#/?id=nps 内网穿透搭建教程 NPS简介和实现原理 1、NPS简
1、squid代理: 缓存网页,减少重复请求,加快访问速度,隐藏真实ip 代理的分类: 传统代理:使用Internet和内网,客户端需明确指定代理服务器。 透明代理:使用于内网访问外网,指定代理服务器,但必须指定网关,网管配置iptables策略,将端口重定向到代理服务器端口。 2、squid和nat的区别: NAT:工作在网络层,通过转换地址转发数据包,实现内外网之间通信。 应用代理:工作在应用层,通过缓存提供服务,不进行数据包转发,主要实现web缓存服务。 3、squid的安装 ./configure
我打算使用自己搭建的V3项目脚手架parcel-vue-app搞一搞项目,毕竟是刚出来,很多东西都不完善,只能自己不断尝试。于是,使用parcel-vue-cli开始初始化项目(如果有小伙伴对parcel-vue-app感兴趣的,文末有源码地址)。
Haproxy是一个使用c语言开发的高性能负载均衡代理软件,提供tcp和http的应用程序代理,免费、快速且可靠。
除了基本的数据交换功能,VLAN是在配置交换机中碰到最多的。虽然SS3 4400仅是一个二层交换机系列,但它仍可以配置基于端口的VLAN。下面举两个例子来说明如何配置。
iptables 的功能当然强大,但理解与设置却有点抽象,便通过google认识了rinetd。
在接入网络安全设备例如防火墙,上网行为管理,IPS等设备和数通设备(交换机,路由器)的Syslog日志时, 有些网络安全设备和数通设备只能将Syslog日志发送到日志服务器的UDP 514端口,无法自定义修改为其他端口
写在前面 为提高web服务器的服务质量,一般通过多线程/多进程实现多任务来服务大量用户,但线程和进程往往要消耗较多的系统资源,而且如果线程/进程数达到一个较大的基数,服务器的性能便会下降,这是就必须
iptables实际上就是一种包过滤型防火墙。iptables是Linux系统下最常见的防火墙命令,但实际上它只是一个命令行工具,真正的内核防火墙是位于操作系统内核空间的netfilter。通过iptables命令制定规则并执行,即可使得netfilter在内核层对数据包作出相应的处理。
小助手今天说的这个工具,是Linux下网络探测必备,在故障排查,远程连接中,简单方便,配上管道符操作,可以组装成强大的功能。
Xshell连接不上虚拟机,虚拟机可以与本机互通,这是一个刚使用xshell连接时很容易碰到的问题,在这里介绍下怎么解决这个问题。
最近准备将协作平台从 HackMD 迁徙到思源笔记。 这主要是因为我个人笔记使用思源,而团队笔记使用 HackMD,不免有些混乱。 再加上思源的块信息实在是很好的平台,基于丰富的信息有很多可操作性,后续也有一定的相关的计划,所以现在打算开始迁徙。
前一阵电脑出现问题,浏览器打开地图之类的网页会黑一下,然后地图中本来搜索的地点会消失,恢复成刚进入网站的样子,还有一些其他的小问题。最后毅然决然的决定重装!
如下命令的作用是 将 Windows 系统 PC 端的 TCP 网络协议的 9527 端口 , 重定向到 Android 手机端 / Android 模拟器端 的 TCP 网络协议的 9527 端口 ;
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:
当今,无线网络随处可见。由于用户四处奔走,插入以太网网线来获取互联网访问的方式非常不方便。无线网络为了使用便利要付出一些代价;它并不像以太网连接那样安全。这一章中,我们会探索多种方式来操纵无线网络流量,这包括移动电话和无线网络。
iptables是Linux系统上的防火墙,是一个包过滤型的防火墙,能够根据事先定义好的检查规则对进出本机或者本地网络的报文进行匹配检查,并对于能够被规则匹配的报文作出相应的处理动作。iptables有五个内置规则链(名称需大写),分别为:
在Liunx服务器上发现有 10倍于 LISTEN 服务的 time_wait 状态,服务并非高并发,日常的连接数也比较少,因此该现象明显异常
特性 class object 封装 继承 多态 语法 调用函数 --》 执行 --》返回结果 r1 = Role.__init__() return x342423 r
http.sys 是一个位于Win2003和WinXP SP2中的 操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。 温馨提示:如果用户不慎删除了该驱动文件,不用担心,该驱动会在下次系统启动时重建。是一个删不掉的系统核心组件!实用程序结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建)。 微软在Windows 2003 Server里引进了新的HTTP API和kernel mode driver Http.sys,目的是使基于Http服务的程序更有效率。这个改变的直接收益者就是IIS 6.0 和 asp.net. 其实在Windows XP安装SP2后,Http.sys已经出现在系统里了,但事实上,操作系统并没有真的使用这个内核级驱动,而XP上自带的IIS 5.1也没有使用HTTP API。 新的HTTP API里最核心的变化都封装在Http.sys这个kernel mode driver里了。在此之前,基于HTTP协议的程序都是在User mode下运行的,而且必须自己处理诸如软件中断、context switch、线程调度等等问题,并且往往无法自由接触系统资源。过去,HTTP服务器,如IIS, Apache等都是利用Winsock API来创建一个User mode下的network listener。Network listener通常独自(i.e.: per application or per thread basis)占用一个IP端口。通俗点说,就是在同一时间只有一个应用程序可以监听一个端口,这在有些时候是一个不太令人舒服的限制。 新的Http.sys带来的好处大致有如下一些: 1. 缓存 - 静态的内容现在被缓存于内核模式下,这使 服务响应速度更快 2. 记录 (Log)-IIS的log功能更快且标准化了 3. 带宽控制 - greater scalability control and throttling 4. 可靠性 - 所有的服务请求会在Http.sys里暂存入队列,而不是由服务程序本身来处理,这样,即使服务程序重启,尚未被处理的请求也不会丢失了 5. IP端口重用 - 现在,只要是通过Http.sys管理的端口(基本包括了那些著名的端口,比如80),都可以同时允许多个程序同时监听了。
说到SSH终端工具,大家首先想到的可能会是putty、xshell这些老牌客户端。以上这些工具能够流行至今,并有一定的用户群体,一定有其独特之处。不过在互联网日益发达的今天,我们工作中的使用需求也越来越多,比如:在远程连接服务器、运行Linux命令的同时,可能还需要传输一些文件;我们希望可以同时连接多台服务器,在多个窗口下管理,便于相互切换;在管理Linux的同时,还可以运行cmd/zsh以及gitbash,而不是开多个软件......
Memcached一共用到了3种套接字(即: TCP, UDP和NUIX域套 接字)
领取专属 10元无门槛券
手把手带您无忧上云