• 2024-07-04UDP套接字基础总结
    最近和同学做一个有趣的实验,大致场景是:将摄像头连接到树莓派上,在树莓派上编写代码来捕获摄像头传回的数据。在这个场景中,树莓派是服务器端,摄像头是客户端,传递数据采用的协议是UDP。实验过程中发现自己对UDP套接字的使用有些不熟练,于是做一个总结。编程语言采用C,参考资料为《TCP/I
  • 2024-07-04Go 使用原始套接字捕获网卡流量
    Go使用原始套接字捕获网卡流量Go捕获网卡流量使用最多的库为github.com/google/gopacket,需要依赖libpcap导致必须开启CGO才能够进行编译。为了减少对环境的依赖可以使用原始套接字捕获网卡流量,然后使用gopacket的协议解析功能,这样就省去了解析这部分的工作量,正确性也可
  • 2024-06-17史上最全最详细的适合新手的从零搭建一个Linux的HTTP服务器
    一.概念梳理    http(hyper-text-transmission-protocol)超文本传输协议,顾名思义就是传输超文本(html)的协议,具体地来说,我们不需要知道html怎么写,我们只需要梳理服务器的数据接收和响应.具体业务具体分析,你们可以自行丰富内容,这里只做最简单的功能演示.http协
  • 2024-06-17[转帖]端口复用
    https://cxd2014.github.io/2018/09/12/port-reuse/  SO_REUSEPORT套接字选项从Linux3.9内核版本之后Linux网络协议栈开始支持SO_REUSEPORT套接字选项,这个新的选项允许一个主机上的多个套接字绑定到同一个端口上,它的目的是提高运行在多核CPU上的多线程网络服务应用的处
  • 2024-06-176、docker-docker的图形化web界面管理工具-portainer--docker镜像原理
    图形化界面管理工具-portainer-可以提供后台面板供我们操作1、下载启动portainer·#-v挂载-v/var/run/docker.sock:/var/run/docker.sock 表示将主机上的Docker守护进程的Unix套接字文件映射到容器内部,这样Portainer就可以通过DockerAPI与Docker守护进程交互了。
  • 2024-06-12Unix socket lock file is empty /var/run/mysqld/mysqld.sock.lock
    介绍当使用MySQL数据库时,有时候会遇到一个错误信息,提示“Unixsocketlockfileisempty:/var/run/mysqld/mysqld.sock.lock.”这个错误一般是由于MySQL服务器无法启动造成的。在本文中,我们将探讨这个错误的原因和解决方案。错误原因/var/run/mysqld/mysqld.sock.lock
  • 2024-06-07【Socket】解决UDP丢包问题
    一、介绍UDP是一种不可靠的、无连接的、基于数据报的传输层协议。相比于TCP就比较简单,像写信一样,直接打包丢过去,就不用管了,而不用TCP这样的反复确认。所以UDP的优势就是速度快,开销小。但是随之而来的就是不稳定,面向无连接的,无法确认数据包。会导致丢包问题。二、丢包原因1、服
  • 2024-06-04Python Socket编程:从原理到实践
    在当今的网络世界中,Socket编程是构建网络通信应用的关键技术之一。从简单的聊天应用到复杂的分布式系统,Socket编程都扮演着至关重要的角色。本文将首先介绍Socket编程的基本原理,然后详细讲解如何使用Python进行Socket编程。注意:文中谈到的TCP/IP协议可以去我另一篇文章看一下,
  • 2024-06-04【Socket】解决TCP粘包问题
    一、介绍TCP一种面向连接的、可靠的、基于字节流的传输层协议。三次握手:客户端发送服务端连接请求,等待服务端的回复。服务端收到请求,服务端回复客户端,可以建立连接,并等待。客户端收到回复并发送,确认连接。服务端收到回复。连接成功。四次挥手:与三次握手不同,客户端和服务
  • 2024-05-31Docker + maven build problem — unix://localhost:80: Permission denied
    使用docker-maven-plugin进行构建镜像报错如下:com.spotify.docker.client.shaded.org.apache.http.impl.execchain.RetryExecexecuteINFO:I/Oexception(java.io.IOException)caughtwhenprocessingrequestto{}->unix://localhost:80:Permissiondenied解决方案:Ad
  • 2024-05-31udp的收发包的思考
      在测试radius性能时,想到一个问题,以前tcp报文在ip层处理时,涉及到路由查找,对于tcp协议报文;skb中没有路由缓存,没有关联的sock;且非分片报文;ip_early_demux设置为true;则调用early_demux函数提前在IP层做established状态的sock查找,并负责将sock结构体成员sk_rx_dst的路由缓存赋值
  • 2024-05-27Weblogic T3协议反序列化漏洞[CVE-2018-2628]
    漏洞复现环境搭建请参考http://t.csdnimg.cn/TYtKgkali切换jdk版本请参考Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客漏洞原理T3协议实现Weblogicserver和其他java程序间的数据传输,Weblogic开放7001端口则默认开启T3服务,通过构造恶意的T3协议数据,利用
  • 2024-05-27《TCP/IP网络编程》(第十章)多进程服务器端(2)
    基于进程的并发服务器我们将扩展之前的回声服务器,使其可以同时向多个客户端体提供服务,实现模型如下图所示即每当有客户端向服务器请求服务时,服务器端都创建一个子进程为其提供服务,比如有5个客户端请求服务,则创建个5子进程。通过fork()复制的文件描述符下图是父进程调用
  • 2024-05-25mysql多实例创建
    mysql数据库(DBMS+数据库)系统:rock8.8mysql:mariabd-server10.3前提:关闭SElinux关闭防火墙时间同步安装mariabdyum-yinstallmariadb-server准备三个实例的目录mkdir-pv/mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}生成数据文件mysql_install_db--user=
  • 2024-05-24WinSock 的多线程编程
    目录概述Winsock为什么需要多线程阻塞模式和非阻塞模式单线程和多线程的优缺点Win32系统下的多进程多线程机制进程和线程线程创建线程同步线程通信  VC++对多线程网络编程的支持MFC中的多线程支持ATL中的多线程支持多线程FTP客户端实例头文件包含线
  • 2024-05-24Winsock I/O 模型:性能和可扩展性的关键
    目录引言Select模型简介主要特点优点缺点工作原理示例用法WSAAsyncSelect异步I/O模型简介工作原理主要步骤优点缺点示例代码WSAEventSelect事件选择模型简介工作原理主要步骤优点缺点示例代码重叠I/O模型简介工作原理主要优势应用场景示例代码完
  • 2024-05-24协程asyncio 模块
    协程不是系统级线程,很多时候协程被称为“轻量级线程”、“微线程”、“纤程(fiber)”等。简单来说可以认为协程是线程里不同的函数,这些函数之间可以相互快速切换。协程和用户态线程非常接近,用户态线程之间的切换不需要陷入内核,但部分操作系统中用户态线程的切换需要内核态线程的
  • 2024-05-24Docker安装Portainer(docker容器管理工具)
    1.拉取镜像dockerpullportainer/portainer-ce:latest2. 启动portainer(默认端口9000)dockerrun-d\--nameportainer\-p9000:9000\--restart=always\-v/var/run/docker.sock:/var/run/docker.sock\-vportainer_data:/data\--privileged=true\portaine
  • 2024-05-14linux socket 多个 socket 复用同一个 ip 和 port
    在Linux系统中,对于UDPsocket,与TCPsocket相比,其行为略有不同。UDP是无连接的协议,通常不需要建立连接,因此它的端口复用规则也有所不同。默认情况下,每个UDPsocket绑定到一个唯一的IP地址和端口组合。然而,从Linux内核版本3.9开始,引入了SO_REUSEADDR和SO_REUSEPORT
  • 2024-05-04树莓派获取温度并上报
    树莓派获取温度并上报1.项目介绍1.1树莓派上通过一线协议连接DS18B20,采用网络socket编程同时实现客户端与服务器端程序,客户端实现定时上报温度给服务器端的功能,服务器端则将接收到的数据永久的存储在数据库中。1.2客户端功能介绍·连接服务器·定时采样·网络异常断开后能
  • 2024-04-24golang通过sock进行通信
    只是demo,生产环境要防止粘包。可以作为多进程之间通讯。。。。serverpackagemainimport( "fmt" "net" "os" "os/signal" "sync" "syscall")//客户端连接结构typeClientstruct{ Conn*net.UnixConn}varclients=make(map
  • 2024-04-23记一个简单测试端口的python脚本
    脚本的简单功能:支持IPv4和IPv6支持TCP和UDP端口importsocket,ipaddressfromenumimportEnumclassMode(Enum):TCP=0UDP=1def__repr__(self):returnself.name__str__=__repr__defis_port_open(ip:str,port:int,mode:
  • 2024-04-22unix /var/run/docker.sock: connect: permission denied
    由于安全整改,root被ssh_config禁用,故使用普通用户执行脚本,执行脚本过程中,使用普通用户运行docker命令时发现权限不够,报错如下GotpermissiondeniedwhiletryingtoconnecttotheDockerdaemonsocketatunix:///var/run/docker.sock:Gethttp://%2Fvar%2Frun%2Fdocker.soc
  • 2024-04-22day18-网络编程(下)
    1.OSI7层模型OSI的7层模型对于大家来说可能不太好理解,所以我们通过一个案例来讲解:假设,你在浏览器上输入了一些关键字,内部通过DNS找到对应的IP后,再发送数据时内部会做如下的事:应用层:规定数据的格式。"GET/s?wd=你好HTTP/1.1\r\nHost:www.baidu.com\r\n\r\n"表示层
  • 2024-04-21ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mys
    ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(2)=====================================================步骤:以下可用。(1)关闭mysql:servicemysqldstop(2)查看mysql.sock的位置(base)[root@VM-0-2-ce