概念
- OSI
应用层 应用接口
表示层 提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别
会话层 会话层连接到传输层的映射;会话连接的流量控制;数据传输;会话连接恢复与释放;会话连接管理、差错控制
传输层 建立主机端到端的链接,发送数据报文(解决进程间的通信)
网络层 通过IP寻址来建立两个节点之间的连接,为源端的传输层送来的分组,选择合适的路由和交换节点,正确传送数据包(解决跨网络的主机通信问题)
数据链路层 将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测(解决相邻主机通信问题)
物理层 实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流
- IP分类
A类
0 000 0000 -- 0 111 1111:1-127
默认子网掩码:255.0.0.0
网络数:127
每个网络中的主机数:2^24-2
私网地址:10.0.0.0/8
B类
10 00 0000 -- 10 11 1111:128-191
默认子网掩码:255.255.0.0
网络数:2^14
每个网络中的主机数:2^16-2
私网地址:172.16.0.0/16-172.31.0.0/16
C类
110 0 0000 -- 100 1 1111:192-223
默认子网掩码:255.255.255.0
网络数:2^21
每个网络中的主机数:2^8-2
私网地址:192.168.0.0/24-192.168.255.0/24
D类
1110 000 -- 1110 1111:224-239
E类
240-255
- TCP/IP
命令
- ifconfig:配置,查看IP
ifconfig [-v] [-a] [-s] [interface]
# ifconfig -a
# ifconfig IFACE [up|down]
ifconfig [-v] interface [aftype] options | address ...
# ifconfig IFACE IP/MASK
# ifconfig IFACE IP netmask MASK
启用混杂模式:[-]promisc
报文送达之后即使目标MAC不是自己,也会接收一份,便于本地抓包,分析网络通信
- route:配置,查看路由条目
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
目标:192.168.1.3 网关:172.16.0.1
# route add -host 192.168.1.3 gw 172.16.0.1 dev ens33
目标:192.168.0.0 网关:172.16.0.1
# route add -net 192.168.1.3 netmask 255.255.255.0 gw 172.16.0.1 dev ens33
# route add -net 192.168.1.3/24 gw 172.16.0.1 dev ens33
设置默认路由 网关:172.16.0.1
# route add -net 0.0.0.0 netmask0.0.0.0 gw 172.16.0.1 dev ens33
# route add default gw 172.16.0.1 dev ens33
route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
- DNS服务器指定
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
正解:FQDN-->IP
# dig -t A FQDN
# host -t A FQDN
反解:IP-->FQDN
# dig -x IP
# host -t PTR IP
- netstat:网络状态查看
显示网络连接
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t:tcp协议相关
-u:udp协议相关
-w:裸套接字相关,不经过传输层,直接从网络层获取IP地址
-l:处于监听状态
-a:所有状态
-n:以数字形式显示IP和端口
-e:显示扩展信息
-p:显示相关进程及PID
显示路由表
netstat {--route|-r} [--numeric|-n]
-r:显示内核路由表
-n:数字格式显示
显示接口统计数据
netstat {--interfaces|-I|-i} [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
查看所有网卡信息
# netstat -i
查看指定网卡信息
# netstat -IIFACE