#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <signal.h> #include <unistd.h> #include <stdlib.h> #include <assert.h> #include <stdio.h> #include <string.h>static bool stop = false; static void handle_term( int sig ) {stop = true; }int main( int argc, char* argv[] ) {signal( SIGTERM, handle_term );if( argc <= 3 ){printf( "usage: %s ip_address port_number backlog\n"...
作为软件开发者特别是server开发,平时要面对大量的跨进程交互场景,各种跨进程调用。虽然现在的开发语言为我们提供了很好的封装,不用过度关心底层网络io的细节,但是作为开发者,还是要了解基本的原理。我们面对的是一个个黑盒,但是为了排查问题或者写出性能更好的程序,必须当成白盒来研究。 Linux IO 模型。看看到掘金上的一篇文章,做一个笔记吧。 https://juejin.cn/post/6892687008552976398 https://www.jianshu.com/p/48...
linux网络编程(一)网络传输基础知识 一、什么是协议?二、使用步骤典型协议 2.网络应用程序设计模式C/S模式B/S模式优缺点 3.分层模型4.TCP/IP四层模型通信过程 5.协议格式数据包封装以太网帧格式ARP数据报格式IP段格式UDP数据报格式TCP数据报格式 6.TCP协议三次握手四次握手 服务器客户端 一、什么是协议? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 从应用的角度出发,协议可...
Linux PXE批量网络装机与Kickstart 无人值守安装 一、PXE批量网络装机二、PXE的三个优点三、搭建PXE的先前条件四、配置PXE装机服务器1.安装并启用 TFTP 服务2.安装并启用 DHCP 服务3.准备 Linux 内核、初始化镜像文件4.准备 PXE 引导程序5.安装FTP服务,准备CentOS 7 安装源6.配置启动菜单文件7.关闭防火墙8.验证 五、Kickstart 无人值守安装1.安装system-config-kickstart 工具2.打开“Kickstart 配置程序”窗口3.配置kickstart选...
学习Linux运维技术是现下很多人进入it行业的选择。很多人通过虚拟机学习Linux技术。那么在安装虚拟机的过程中,为虚拟机选择网络类型非常关键。那么VMware虚拟机常见的网络类型有哪些?Linux运维学习入门。 VMware虚拟机常见的网络类型有Bridged(桥接)、NAT、Host-only(仅主机)3种。 NAT(网络地址转换) NAT模式是一种比较简单的实现虚拟机上网的方式。NAT模式的虚拟机通过主机(物理机)访问互联网,交换数据。在NAT模式下,...
学习Linux运维技术是现下很多人进入it行业的选择。很多人通过虚拟机学习Linux技术。那么在安装虚拟机的过程中,为虚拟机选择网络类型非常关键。那么VMware虚拟机常见的网络类型有哪些?Linux运维学习入门。 VMware虚拟机常见的网络类型有Bridged(桥接)、NAT、Host-only(仅主机)3种。 NAT(网络地址转换) NAT模式是一种比较简单的实现虚拟机上网的方式。NAT模式的虚拟机通过主机(物理机)访问互联网,交换数据。在NAT模式下,...
Linux 网络分析必备技能:tcpdump 实战详解 良许linux 昨天 以下文章来源于编程修养 ,作者程序员肖邦编程修养 作者从事 Linux 系统开发多年,公众号主要分享 Linux 系统、算法、网络、高质量编程等方面的文章,欢迎关注! 今天要分享的是 tcpdump,它是 Linux 系统中特别有用的网络工具,通常用于故障诊断、网络分析,功能非常的强大。 相对于其它 Linux 工具而言,tcpdump 是复杂的。当然我也不推荐你去学习它的全部,学以致用,...
Linux网络DNS拓展:分离解析 一、配置网关服务器搭建DNS分离解析1.为网关服务器配置双网卡2.安装bind软件包3.修改主配置文件4.修改区域配置文件5.修改区域数据配置文件6.启动服务7.在内、外网客户端的域名解析配置文件中添加DNS服务器地址8.在内、外网客户端上测试 二、示例 一、配置网关服务器搭建DNS分离解析 分离解析的域名服务器实际也是主域服务器,这主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不...
network namespace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自的网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己就在独立的网络中。这篇文章介绍 network namespace 的基本概念和用法,network namespace 是 linux 内核提供的功能,这篇文章借助 ip 命令来完成各种操作。ip 命令来自于 iproute2 安装包,一般系统会默认安装,如果没有的话,请读者自行安装。 NOTE:ip 命令因为需要修改系统的网络...
文章标题 DHCP概述及原理使用DHCP的好处DHCP的分配方式DHCP的租约过程使用DHCP服务可分配的地址信息主要包括 配置DHCPensp配置配置DHCP服务器 实验FTP文件传输实验 DHCP概述及原理 DHCP (Dynamic Host Configuration Protocol,动态主机配置协议) 由Internet 工作任务小组设计开发 专门用于为 TCP/IP 网络中的计算机自分配ТСР/IP参数的协议 使用DHCP的好处 减少管理员的工作量 避免输入错误的可能 避免IP地址冲突 当更改IP地址段...
Linux网络设置 一、查看网络配置1. 查看网络接口信息2. 查看主机名称3. 查看路由表条目4. 查看网络连接情况5. 获取socket统计信息6. 测试网络连接7. 跟踪数据包8. 域名解析 二、设置网络参数1. 设置网络参数的方式2. 设置网络接口参数3. 设置路由记录4. 网络接口配置文件5. 主机名称配置文件6. 域名解析配置文件7. 本地主机映射文件一、查看网络配置 1. 查看网络接口信息 查看所有活动的网络接口信息 ifconfig查看指定网络接口信息...
第四章 Linux网络基础 第一节 Linux的IP地址配置 Linux的IP地址配置地址的方法 ifconfig命令临时配置IP地址Setup工具永久配置IP地址修改网络配置文件图形界面配置IP地址 ifconfig命令 Ifconfig命令:查看与配置网络状态命令ifconfig eth0 192.169.0.200 netmask 255.255.255.0临时设置eth0网卡的IP地址与子网掩码eth0 表示网卡,但是这个命令看不到网关ifconfig eth0:1 192.169.0.200设置另一个IP也生效ifconfig eth0:1 down 取消设...
第六章 DHCP服务 第一节 DHCP简介与原理 DHCP服务作用(Dynamic Host Configuration Protocol 动态主机配置协议): 为大量客户机自动分配地址,提供集中管理减轻管理和维护成本,提供网络配置效率 可分配的地址信息主要包括: 网卡的IP地址,子网掩码对应的网络地址,广播地址默认的网关服务DNS服务器地址引导文件,TFTP服务器地址DHCP的原理1.客户端寻找服务器2.服务器提供地址信息(仅给IP)3.接受广播(ARP协议确认IP是否有效)4.服务...
第七章 VSFTP服务 第一节 FTP简介与原理 FTP简介FTP(File Transfer Protocol)中文称为“文件传输协议”。用于Internet上的控制文件的双向传输。 “下载”文件就是从远程主机拷贝文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中拷贝至远程主机上。 主动模式主动模式:服务的从20端口主动向客户端发起连接被动模式被动模式:服务端在指定范围内某个端口被动等待客户端连接主动模式不好实验,客户端不在管理员的控制范...
第七章 Samba服务 第一节 samba简介 数据共享的方法 Windows中最常用的是“网上邻居”。网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享 Linux中最常用的是NFS服务 Samba的由来 在 1991 年Andrew Tridgell为了实现Unix和Windows之间文件共享,开发了SMB( Server Message Block,服务消息块)文件系统由于SMB无法注册,就取名为Samba,热情的桑巴舞 Samba与NetBIOS协议 IBM开发的NetBIOS协议是为了局域网内少数计算机...