1、IP地址规划
IP地址主要分为四类:
1.1 A类地址
格式:1-126.X.Y.Z 即0xxxxxxx.X.Y.Z
A类地址第1字节为网络地址(最高位固定是0),另外3个字节为主机地址。A类地址有1600多万台主机,相当于路由器的一边有1600万台主机,广播域太庞大,会导致网络瘫痪。A类地址网段只有126个。网络ID位为高8位,主机ID位为24。
1.2 B类地址
格式:128-191.x.y.z 即 10xxxxxx.X.Y.Z
B类地址网络ID位为高16位,主机ID位为低16位。
主机数=2^16-2=65534
1.3 C类地址
格式:192-223.x.y.z 即 110xxxxx.x.y.z
网络ID位为高24位,主机ID位为8。
C类网络最大主机数量256-2=254。
1.4 D类地址
格式:224-239.x.y.z 即1110xxxx.x.y.z
D类地址为多播地址,不分网络地址和主机地址。
1.5 E类地址
E类地址也不分网络地址和主机地址,它的第1个字节的最高位固定是11110。
E类地址范围:240.0.0.0 - 255.255.255.255。
其中240.0.0.0-255.255.255.254作为保留地址,主要用于Internet试验和开发,255.255.255.255作为广播地址。
1.6 IP地址的CIDR表示法
子网掩码:32位二进制数,对应于网络ID位为1,对应于主机ID位为0。
无类域间路由CIDR:网络id位数不确定,通过netmask子网掩码来确定id位。
10.0.0.100/19 表示子网掩码为255.255.224.0。
A类地址的子网掩码为:255.0.0.0
B类地址的子网掩码为:255.255.0.0
C类地址的子网掩码为:255.255.255.0
D类和E类地址没有子网掩码。
1.7 练习
给定IP地址167.77.88.99和掩码255.255.255.192,子网号是什么?广播地址是什么?有效IP地址是什么?
==>以上给定的IP地址可以表示为167.77.88.99/26,子网号为32-26=6。广播地址为167.77.88.255 。有效IP地址为167.77.88.192-167.77.88.254 。
2 常见的网络管理命令
2.1 ifconfig命令
ifconfig [interface]
ifconfig -a
ifconfig IFACE [up|down]
ifconfig interface [aftype] options | address ... #配置地址
ifconfig IFACE IP/netmask [up]
ifconfig IFACE IP netmask NETMASK
注意:立即生效
启用混杂模式:[-]promisc
2.2 路由管理route命令
1. 查看
route -n
2. 添加
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
例如:
目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
3. 删除
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
例子:
目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
2.3 netstat命令
1 显示网络连接
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口
-e:扩展格式
-p: 显示相关进程及PID
常用组合:-tan, -uan, -tnl, -unl
2 显示路由表
netstat {--route|-r} [--numeric|-n]
-r: 显示内核路由表
-n: 数字格式
3 显示接口统计数据
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
netstat -i
netstat –I=IFACE 监控某个网卡
ifconfig -s eth0
2.4 ip命令
显示、配置网络属性。
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link - network device configuration 链路层
ip addr - 网络层
set dev IFACE
可设置属性:
up and down:激活或禁用指定接口
ifup/ifdown
show [dev IFACE]:指定接口
[up]:仅显示处于激活状态的接口
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 仅链接可用
host: 本机可用
[broadcast ADDRESS]:指明广播地址
ip address show - look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush - 使用格式同show
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
ip route - routing table management
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
添加网关:ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
删除路由:ip route del TARGET
显示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0
2.5 ss命令
跟netstat功能一样,性能更好,推荐
格式:ss [OPTION]... [FILTER]
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
常用组合:
-tan, -tanl, -tanlp, -uan
常见用法:
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息
2.6 练习
添加IP地址192.168.2.2/24到eth0网卡上
ip addr add 192.168.2.2/24 dev eth0
或者:
ifconfig eth0 192.168.2.2/24
转载:https://blog.csdn.net/tingyalove/article/details/102319046