linux

JerryXia 发表于 , 阅读 (2)

应用层(APDU) -> 用户接口
表示层(PPDU) -> 数据的表现形式, 比如 编码, 图片/视频 等格式的解码; 特定功能, 如 压缩/加密
会话层(SPDU)

传输层(TPDU) -> tcp(可靠) / udp(快速, 但是可能丢失); 端口

网络层(报文) -> ip 来标识; 选路

数据链路层(帧) -> MAC 地址 来标识
物理层(bit) -> 设备

  • tcp/ip 4层模型

应用层: 按照使用的协议封装数据
传输层: tcp(传输控制协议) / udp(用户数据报协议)
网络层: ip(网际协议) / IGMP(互联网管理协议) / ICMP(互联网控制报文协议) -> ping
物理层: ARP(地址解析协议), 用于 局域网内 ip <-> mac 地址 的解析

tcp/ip 3次握手(2 军问题): 必须使用非可靠的通信通道, 但是又要保证通信可靠

  • ip

ip v4
A: 1-126 10
B: 128-191 172.16-172.31
C: 192-223 192.168-192.168

  • port 端口

端口数量: 2^16, 65535 (由 tcp/udp 包头 决定的)
自己建立的服务: 最好设置到 10000 以上

常用端口:
ftp(文件传输) -> 20/21
ssh(安全shell) -> 22
telnet(远程登录) -> 23, 明文传递
dns(域名系统) -> 53
http -> 80
smtp -> 25
pop3 -> 110

  • dns

ip <-> 名字
hosts: 静态 ip 与 域名 对应; 数量太大时无法满足需求
dns: 层次性; 分布式
域名结构: 根域(.) -> 顶级域(组织域 / 国家和地区) -> 二级域 -> ... -> 主机(www / news); 防钓鱼
dns查询过程: dns client -> 本地 dns server(是否有缓存 / 递归查询) -> root dns server(迭代查询) -> 一级一级询问
正向查询: ip -> 地址(反向查询)

  • 网关 gateway

内网不同网段进行通信
内网ip <-> 外网ip

linux 网络配置

ifconfig: 临时配置 ip 地址
setup(rh): 永久配置 ip 地址, 配置完后执行 service network restart

虚拟机网络配置:

  1. 桥接: 使用主机物理网卡
  2. NAT: 使用虚拟机的虚拟网卡, 可以和 主机 / 主机所在局域网 通信
  3. host-noly: 使用虚拟机的虚拟网卡, 只能和主机通信

其他

连接内网的网卡是不能设置网关的, 直接从接入的网络自动获取网关

对称加密: 单密钥加密, 一个密钥同时用作信息 加密/解密
非对称加密: 通信双方都生成自己的 公钥/私钥, 需要给对方发送文件时, 同时使用 自己/对方 的 公钥 进行加密, 双方都可以通过自己的私钥解密数据

非对称加密 -> ssh(xshell) -> scp -> rsync(增量传输)

/etc/sysconfig/network-scripts/ifcfg-eth0 # 网卡配置文件, 需要重启网络服务; 解决复制导致 UUID 冲突的问题/etc/sysconfig/network # 主机配置文件/etc/resolv.conf # dns 配置hostname # 查看 / 临时设置 当前主机名service network restart # 重启网络服务# linux 网络相关命令ifconfig # 内网ip + 掩码ifdown eth0 # 禁用网卡 eth0, ipup 对应route -n # 查看网关, 和 netstat -rn 效果一样nslookup baidu.com # 查看 dns; 查询 name->ip, 这个 ping 也可以ping baidu.comtelnet 127.0.0.1 80 # 可以用来测试 tcptraceroute baidu.com # 路由追踪, 查看网络每一步节点wget [url] # 下载netstat -tulnpa # tcp udp listen not(使用 ip/端口 代替 域名/服务名) pid alltcpdump -i ech0 -nnX port 21 # 抓包命令