linux网络管理和安全

哔哩哔哩   2023-03-11 23:12:58


(资料图片)

ifconfig 命令   (早期的网络管理工具)ifconfig     使用ifconfig命令查看网卡状态可选参数-a  列出当前系统所有可用的网络接口up  启用指定的网络接口down  禁用指定的网络接口netmask  指定当前ip网络的子网掩码ip地址  修改指定网络接口的ip地址sudo ifconfig ens33 down  禁用ens33接口ip命令  (较新的网络管理工具)语法  ip[选项]object[子命令]-h  输出可读的信息-4  指定协议为ipv4-6  指定协议为ipv6-s  显示详细信息object是ip命令操作的对象  可以操作系统中不同的设备常见的对象有:address:ip地址 ipv4/ipv6l2tp: l2tp 隧道协议link: 网络设备maddress: 多播地址route: 路由表rule: 路由策略tunnel: 隧道ip -s link list     使用ip命令查看网络接口详细信息route命令(显示和操作路由表)-A: 指定协议簇-n: 显示数字形式的IP地址-e: 使用netstat格式显示路由表-net: 指定的目标是一个网络-host: 指定的目标是一台主机del: 删除路由记录add: 添加路由记录gw: 设置默认网关dev: 路由记录对应的网络接口netmask: 制定目标网络的子网掩码route -n    查看路由表信息返回信息:--------内核 IP 路由表目标            网关            子网掩码        标志  跃点   引用  使用 接口0.0.0.0         *****                8 0.0.0.0         UG    600    0        0 wlp2s0********            0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0目标: 目标网络或者主机的ip地址网关: 网关信息子网掩码: 目标网络子网掩码标志: 标志位 如果该条路由处于启动状态,则含有U 如果该条路由通向网关 则含有G 还有可能会有其他标志跃点:当前位置距离目标主机或者网络的距离 用跳数表示引用:0使用:该路由被使用的次数接口: 该路由的数据包将要发送到的网络接口# 套接字是一种通信机制(通信的两方的一种约定),socket屏蔽了各个协议的通信细节,提供了tcp/ip协议的抽象,# 对外提供了一套接口,同过这个接口就可以统一、方便的使用tcp/ip协议的功能。这使得程序员无需关注协议本身,# 直接使用socket提供的接口来进行互联的不同主机间的进程的通信。netstat命令-a:显示所有处于活动状态的套接字-A:显示指定协议簇的网络连接信息-c:持续列出网络状态信息 刷新时间1s-e:显示详细信息-i:列出所有网络接口-l:列出处于监听状态的套接字-n:直接显示ip 不转化为域名-p:显示使用套接字的进程id和程序名称-r:显示路由表信息-s:显示每个协议的统计协议-t:显示tcp/ip的连接信息-u:显示udp的连接信息netstat -a   查看所有端口的状态nslookup命令nslookup用来查看域名的信息nslookup www.bilibili.com     查看bilibili的域名信息返回信息----------------------Non-authoritative answer:www.bilibili.com   canonical name = a.w.bilicdn1.com.Name:  a.w.bilicdn1.comAddress: 183.232.239.20Name:  a.w.bilicdn1.comAddress: 183.232.239.19Name:  a.w.bilicdn1.comAddress: 183.232.239.18Name:  a.w.bilicdn1.comAddress: 120.240.75.131Name:  a.w.bilicdn1.comAddress: 183.232.239.22Name:  a.w.bilicdn1.com# 通过上面DNS域名解析,解析到www.baidu.com 的域名和地址,# 会发现返回回来的是a.w.bilicdn1.com 一般大型网站,因为客户访问量比较大,# 对网站访问速度要求比较高,都会使用CDN网站进行内容的分发。七层模型应用层:网络服务与用户的接口-----------|表示层:数据的表示、安全、压缩----------|-------应用层(应用程序)会话层:会话的建立、管理、断开----------|传输层:通过协议端口号定义对方上层服务,流量控制、差错校验----|-------操作系统网络层:通过IP地址进行逻辑寻址--------------------------|数据链路层:通过物理地址(MAC)进行寻址,差错校验-------|物理层:通过物理信号传输比特流,维护物理连接-----------|------设备驱动程序和网络接口应用层 ------计算机传输层-------计算机  防火墙网络层-------路由器数据链路层----交换机物理层-------网卡网线ping命令 (向目标主机发送一个ICMP包,并接受响应来测试服务器的连通性)ping www.baidu.com      测试和百度的连通性,会不停输出(ctrl+c打断)

ubuntu上配置iptables防火墙 ufw常用辅助命令如下enable:开启防火墙disable:关闭防火墙reload:重新加载防火墙default:修改默认策略logging:日志管理reset:恢复防火墙到初始状态status:显示防火墙状态show:显示防火墙信息allow:添加允许通信的规则deny:添加禁止通信的规则limit:添加限制规则delete:删除指定的规则insert:在指定的位置插入规则app list:列出使用防火墙的应用系统app info: 查看应用信息系统app update: 更新应用系统信息app default:指定应用系统默认的规则默认的状态下,ufw处于禁用状态sudo ufw status    查看ufw当前状态sudo ufw enable     启动防火墙sudo ufw allow 8080    开放8080端口sudo ufw delete allow 8080     删除开放的8080规则

ssh服务ssh是一种通用的,功能强大的,基于软件的网络安全解决方案计算机发送数据时,ssh会自动加密,到达目的地时,会自动解密,另外ssh为其传输数据压缩 可以加快传输的速度systemctl status ssh    查看ssh服务返回信息----------------------# ssh. service - OpenBSD Secure Shell server#      Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: e>#      Active: active (running) since Sat 2023-03-11 22:04:43 CST; 2min 28s ago#        Docs: man:sshd(8)#              man:sshd_config(5)#    Main PID: 7715 (sshd)#       Tasks: 1 (limit: 37707)#      Memory: 1.7M#         CPU: 9ms#      CGroup: /system.slice/ssh.service#              └─7715 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"如果打开ufw,需要使用ufw命令添加允许ssh端口通信的原则sudo ufw allow ssh    使用ufw命令添加允许ssh端口通信的原则使用putty在windows上登陆ssh服务输入 ip地址和port  就可以和远程主机连接  连接成功登陆就可以执行命令

FTP是基于互联网的文件双向传输协议FTP实现需要客户端和服务端两个部分 Standard(主动)模式和passive(被动)模式Standard(主动)模式需要主动和服务器的21端口建立连接 用来发送命令 客户端在接受数据的同时在这个通道发送port命令port命令包含客户端接受数据所用的端口,一般是20端口在传输数据的时候 服务器端通过自身的20端口连接至客户端指定端口发送数据passive(被动)模式和Standard(主动)模式类似,但是建立连接后需要发送pasv命令,服务器受到命令之后打开一个临时端口并且通知客户端在这个端口上传送的请求 客户端连接FTP,然后FTP服务器通过这个端口传送数据vsftpd是一个在unix类操作系统上运行的服务器,以一般身份用户启动服务apparmor 采用主动的方式对可能出现的危险进行防御 在linux内核中集成数字证书:验证通信实体的身份数字证书由CA机构发行 采用公钥体制,即利用一对互相匹配的密钥进行加密,解密在公开密钥密码体制中,常用RSA体制 一般很难推导出解密密钥