TCP/IP 基础笔记整理

IPv4 地址分类

标准分类

类别 IP 地址范围 子网掩码
A 0.0.0.0 ~ 127.255.255.255 255.0.0.0
B 128.0.0.0 ~ 191.255.255.255 255.255.0.0
C 192.0.0.0 ~ 223.255.255.255 255.255.255.0

私有地址范围

类别 IP 地址范围
A 10.0.0.0 ~ 10.255.255.255
B 172.16.0.0 ~ 172.31.255.255
C 192.168.0.0 ~ 192.168.255.255

CIDR (Classless Inter-Domain Routing)

  • 无类别域间路由
  • 允许更灵活的子网划分方式,不再受传统 A/B/C 类限制

IPv6

  • 128 比特地址,用 16 进制表示,分为 8 个 block
  • 表示规则:
    1. 每个 block 开头的 0 可以省略
    2. 连续的 0 可以用 :: 表示,但整个地址中 :: 只能出现一次

IPv6 地址类型

类型 说明
单播地址 (Unicast) 标识单个接口,类似 IPv4 单播地址
组播地址 (Multicast) 标识一组接口,类似 IPv4 组播地址
任播地址 (Anycast) 新增类型,数据包发送给最近的一个接口

端口 (Port)

  • /etc/services:端口与服务对应关系文件
  • 常用端口:
端口 协议 服务 说明
20 TCP FTP 文件传输(数据)
21 TCP FTP 文件传输(控制)
22 TCP SSH 安全Shell
23 TCP Telnet 远程登录
25 TCP/UDP SMTP 邮件发送
53 TCP/UDP DNS 域名解析
80 TCP HTTP Web服务
110 TCP POP3 邮件接收
119 TCP NNTP 网络新闻
139 TCP/UDP NetBIOS Windows网络
143 TCP IMAP 邮件访问
161 UDP SNMP 网络管理
443 TCP HTTPS 安全Web
465 TCP SMTPS 安全SMTP
993 TCP IMAPS 安全IMAP
995 TCP POP3S 安全POP3

nsswitch.conf 文件

控制各种系统数据库的搜索顺序和方法

1. 信息类型(Info)

  • automount:自动挂载信息
  • bootparams:引导选项
  • ethers:MAC地址
  • group:用户组信息
  • hosts:主机名和IP
  • networks:网络信息
  • passwd:用户信息
  • protocols:网络协议
  • publickey:NIS+/NFS公钥
  • rpc:远程过程调用
  • services:网络服务
  • shadow:用户密码信息
  • aliases:邮件别名

2. 搜索方法(method)

  • files:搜索本地文件
  • nis:搜索NIS数据库
  • dns:查询DNS
  • compat:兼容模式(±语法)

3. 搜索顺序

从左到右依次尝试,先找到的结果优先

4. 动作项([action])

格式:[[!]STATUS=action]

  • STATUS:
    • NOTFOUND:未找到
    • SUCCESS:成功找到
    • UNAVAIL:永久不可用
    • TRYAGAIN:临时不可用
  • action:
    • return:返回结果
    • continue:继续尝试下个方法

5. compat方法

在passwd/group/shadow文件中使用+-来合并NIS信息

网络故障排除命令

ping

1
2
3
ping 主机名或IP地址
ping -c 次数 目标 # 指定发送次数
ping -i 间隔 目标 # 指定发送间隔
  • TTL:ICMP包最大生存时间
  • time:响应时间

traceroute/tracepath

1
2
traceroute 主机名或IP地址
tracepath 主机名或IP地址 [端口]
  • 显示到达目标的路径

host

1
2
host [选项] 主机名或IP [DNS服务器]
host -v 目标 # 显示详细信息
  • 查询DNS信息

hostname

1
2
hostname  # 显示当前主机名
hostname 新主机名 # 设置主机名

netstat

1
2
3
4
5
6
7
8
netstat -a  # 显示所有socket
netstat -c # 实时更新
netstat -i # 显示接口状态
netstat -n # 显示数字地址
netstat -p # 显示PID/进程名
netstat -r # 显示路由表
netstat -t # 只显示TCP
netstat -u # 只显示UDP

route

1
2
3
4
route  # 显示路由表
route add -net 目标网络 netmask 子网掩码 gw 网关
route add default gw 默认网关
route del -net 目标网络

路由表字段说明:

  • Destination:目标网络/主机
  • Gateway:网关
  • Genmask:子网掩码
  • Flags:标志(U=有效,H=主机,G=网关)
  • Metric:距离
  • Ref:引用数
  • Use:使用计数
  • Iface:接口

ifconfig

1
2
ifconfig 接口名 IP地址 netmask 子网掩码
ifconfig 接口名 up/down # 启用/禁用接口

ifup/ifdown

1
2
ifup 接口名  # 启用接口
ifdown 接口名 # 禁用接口

网络服务命令

telnet

1
telnet 主机 [端口]  # 默认端口23

ftp

1
2
3
4
5
6
7
8
9
10
ftp 主机
# 常用命令:
ls # 列出远程文件
pwd # 显示远程当前目录
get # 下载文件
mget # 下载多个文件
put # 上传文件
ascii # ASCII传输模式
binary # 二进制传输模式
quit # 退出

dig

1
2
3
4
5
6
7
dig [选项] @DNS服务器 主机名 域名 [查询类型]
dig -x IP地址 # 反向查询
# 查询类型:
a # IP地址
any # 所有信息
mx # 邮件服务器
ns # 名称服务器

whois

1
whois 目标 [@whois服务器]
  • 查询域名注册信息

网络配置文件

/etc/hostname

  • 存储主机名
1
windsor.lpic.jp

/etc/hosts

  • 主机名与IP映射
1
2
127.0.0.1 localhost.localdomain localhost
192.168.0.1 windsor.example.com windsor

/etc/nsswitch.conf

  • 名称服务切换配置
1
hosts: files ldap dns  # 先查本地文件,再LDAP,最后DNS

/etc/resolv.conf

  • DNS配置
1
2
3
4
domain lpic.jp
search lpic.jp
nameserver 192.168.1.253
nameserver 192.168.1.2

/etc/sysconfig/network

  • 基本网络设置
1
2
3
NETWORKING=YES
HOSTNAME=lpic.example.net
GATEWAY=192.168.0.254

/etc/sysconfig/network-scripts/

  • 网络接口配置文件(如ifcfg-eth0)
1
2
3
4
5
6
7
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.6
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
ONBOOT=yes