1. 网络基础 1.1 iso/osi 七层模型 ISO # 国际标准化组织 OSI # 开放系统互联模型 应用层 # 用户接口 表示层 # 数据的表现形式、特定功能的实现(例如:加密, 压缩) 会话层 # 对应用会话的管理、同步 传输层 # 可靠与不可靠的传输(TCP, UDP)、传输前的错误检测、流控 网络层 # 报文,提供逻辑地址(ip)、选路 数据链路层 # 成帧、用MAC地址访问媒介、错误检测与修正 物理层 # 设备之间比特流的传输、物理接口、电气特性等(网卡、网线等) 1.2 TCP/IP协议四层模型 1.2.1 四层模型和七层模型的对应关系 应用层 ----- 应用层 表示层 | 会话层 __| 传输层 ----- 传输层 网络层 ----- 网际互联层 数据链路层 ----- 网络接口层 物理层 __| 1.2.2 四层模型详解 应用层 # 为用户提供所需要的各种服务 # 该层主要协议有:FTP、Telnet、DNS、SMTP等 传输层 # 为应用层实体提供端到端的通信功能,保证数据包的顺序传送及数据的完整性。 # 该层主要协议有:传输控制协议(TCP)、用户数据报协议(UDP) 网际互联层 # 解决主机到主机的通信问题,它所包含的协议设计数据包在整个网络上的逻辑传输, # 该层主要协议有:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP) 网络接口层 # 负责监视数据在主机和网络之间的交换。 # 该层主要协议有:地址解析协议(ARP) 1.3 IP地址 A类地址 1.0.0.0 ~ 126.255.255.255 | 私有IP范围:10.0.0.0 ~ 10.255.255.255 A类IP地址的第一段1~126表示当前网络的网段,每个网段最大有2^24-2个主机,减去的两个主机分别是: x.0.0.0 代表网络本身(即网段 或 网络地址),不能分配 x.255.255.255 代表当前网络的广播地址 同一网段内的主机只需通过交换机就可以通信; 不同网段内的主机需要通过路由器才能通信; B类地址 128.0.0.0 ~ 191.255.255.255 | 私有IP范围:172.16.0.0 ~ 172.31.255.255 B类IP地址的前两段128.0~191.255表示当前网络的网段,每个网段最大有2^16-2个主机 C类地址 192.0.0.0 ~ 223.255.255.255 | 私有IP范围:192.168.0.0 ~ 192.168.255.255 C类IP地址的前三段192.0.0~223.255.255表示当前网络的网段,每个网段最大有2^8-2个主机 1.4 子网掩码 子网掩码是用来确定网段、主机地址和广播地址的。 IP地址和子网掩码做二进制逻辑与操作得到网段(IP地址 & 子网掩码 = 网络地址)。 例如: # A类地址 10.1.1.200 子网掩码 255.0.0.0 网络地址 10.0.0.0 广播地址 10.255.255.255 # B类地址 172. 16.1.200 子网掩码 255.255.0.0 网络地址 172. 16.0.0 广播地址 172. 16.255.255 # C类地址 192.168. 1.200 子网掩码 255.255.255.0 网络地址 192.168. 1.0 广播地址 192.168. 1.255 # 变长子网掩码及子网规划 B类地址 172. 16. 2.121 子网掩码 255.255.255.0 网络地址 172. 16. 2.0 广播地址 172. 16. 2.255 1.5 端口号 # 常见端口号 20, 21 FTP(文件传输协议) 22 SSH(安全shell协议) 23 Telnet(远程登录协议) 25 SMTP(简单邮件传输协议) 53 DNS(域名系统) 80 http(超文本传输协议) 110 POP3(邮局协议) # 查看本机启用的端口 netstat -an -a 列出所有的网络连接 -n 显示ip和端口号(默认是域名和服务名) -l 仅列出在监听状态的网络服务 -t 列出tcp协议端口 -u 列出udp协议端口 1.6 DNS # DNS的作用:将域名解析为 ip 地址 客户机向DNS服务器发送域名查询请求 DNS服务器告知客户机Web服务器的 ip 地址 客户机与Web服务器通信 # 域名空间结构 根域 '.' 一级域(顶级域) 组织域 gov, com, edu, org, net, mil 国家或地区域 cn, hk, jp, uk, au 二级域 baidu, google, ibm, csdn 三级域(主机名) www, blog # 三级域名是申请完二级域名后自己规定的 # DNS查询类型 # 从查询方式上分 a. 递归查询 (客户机和DNS服务器之间的查询属于递归查询) 要么返回查询成功的响应,要么返回查询失败的响应。 b. 迭代查询 (DNS服务器和DNS服务器之间的查询属于迭代查询) DNS服务器收到一次迭代查询,回复一次结果, 这个结果可以是目标IP与域名的映射关系,也可以是其他DNS服务器的地址。 # 从查询内容上分 a. 正向查询 (由域名查找ip地址) b. 反向查询 (由ip地址查找域名) 1.7 网关(Gateway) # 网关既可用于广域网互联,也可用于局域网互联。 # 网关是一种充当转换重任的服务器或路由器 # 一般来说网关就是路由器,网关地址通常也就是路由器地址,例如:192.168.1.1 # 网关的作用 a. 网关在内网计算机访问的不是本网段的数据报时使用 b. 网关负责将内网ip转换为公网ip,公网ip转换为内网ip 2. linux网络配置 2.1 linux中配置ip地址的方法 # ifconfig命令临时配置ip地址 ifconfig # 查看网络状态 ifconfig eth0 ip netmask 子网掩码 # 临时修改ip, eth0 是网卡名称 # setup工具永久配置ip地址 setup是Redhat系统中的工具,SuSE系统中的工具是yast2, yast # 修改网络配置文件 # ip, 子网, 网关 /etc/sysconfig/network-scripts/ifcfg-eth0 # Redhat系统中ip, 子网, 网关的配置文件 # 主机名 /etc/sysconfig/network # Rednat系统中主机名的配置文件 hostname [主机名] # 查看或临时设置主机名 # DNS /etc/resolv.conf # DNS配置文件 3. linux网络命令 ifconfig # 查看当前网络状态(ip, 子网掩码) route -n # 查看路由列表(可以看到网关) nslookup # 查看本机DNS服务器 >server >exit ifdown 网卡设备名 # 禁用该网卡 ifup 网卡设备名 # 启用该网卡 netstat -tuln # 查看系统中处于监听状态的tcp端口以及打开的 udp 端口 netstat -an # 查看所有的网络连接 netstat -an | grep ESTABLISHED | wc -l # 查看当前系统有多少个远程连接 netstat -rn # 查看路由列表(可以看到网关) route add default gw 192.168.1.2 # 临时设置网关(只有连接外网的网卡才能设置网关) route del default gw 192.168.1.2 # 删除指定网关 nslookup www.baidu.com # 进行域名和ip地址解析 ping [选项] ip或域名 # 探测指定ip或域名的网络状况(-c 指定ping的次数) telnet [域名或ip] [端口] # 远程管理与端口探测 traceroute [选项] ip或域名 # 路由跟踪命令(-n 使用ip, 不使用域名, 速度更快) wget http://www.baidu.com # 下载命令 tcpdump -i eth0 -nnX port 80 # 抓包命令 # -i 指定网卡 # -nn 将数据包中的域名与服务转换为ip和端口 # -X 以16进制和ASCII码显示数据包的内容 # port 指定监听的端口 # -s 0 抓取完整的数据包(默认抓取长度为68字节) # -w 将数据包写入文件中,并不分析和打印出来 # 抓取指定ip的数据包,ip123.cap 文件可用wireshark软件打开进行分析 tcpdump -i eth0 -s 0 host ip -w /tmp/ip123.cap 4. linux 远程登录 4.1 ssh 相关命令 ssh 用户名@ip # 登录到指定服务器 scp [-r] 用户名@ip:文件路径 本地路径 # 下载文件 scp [-r] 本地文件 用户名@ip:上传路径 # 上传文件 4.2 相关工具 # Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html # Xshell http://www.netsarang.com/download/down_xsh5.html # WinSCP http://winscp.net/eng/download.php
-- END