zoukankan      html  css  js  c++  java
  • Linux网络管理

    ifconfig

    ifconfig查看匹配IP

    route 管理路由

    netstat 端口状态及统计数据查看

    ifconfig

    ifconfig          查看IP 
    ifconfig eth_name 指定查看网卡
    ifconfig eth_name up 启用网卡
    ifconfig eth_name dome    关闭网卡
    配置IP例:
        ifconfig eth1 192.168.10.10 netmask 255.255.255.0 up

    route

    添加路由语法: route add [-net|-host] target [netmask NM] [gw GW] [dev] 
    例: route add -net 192.168.0.0/24 gw 192.168.0.1 eth1
    
    删除路由语法: route del  target [gw GW] [netmask Nm] [dev]
    例: route del -net 192.168.1.0/24 gw 192.168.1.1
        route del default

    netstat

    显示路由相关:

    netstat -rn
        -r: 显示路由内核路由表
        -n: 数字格式显示

    显示网络连接数:

    netstat [--tcp|-t] [--udp|-u]
        -t:    显示tcp相关连接
        -u:    显示udp相关连接
        -w:    裸套接字 socket相关连接
        -l:    处于监听状态的相关连接
        -a:    所有状态
        -n:    以数字格式显示IP和PORT
        -e:    扩展格式
        -p:    显示相关的进程及PID
    常用组合: -lautp -tan -uan -unl -tn

    显示接口统计数组

    netstat -Ieth0    指定接口
    netstat -i        所有接口

    ifup/ifdown

    开启或关闭端口

    ifup eth1
    ifdown eth1

    ethtools

    多网卡情况面可确定网卡位置.

    ethtools -p ETH_Name

    iproute2家族

    ip命令

    设备属性相关:

    ip link set     设置设备属性
    ip link show    查看设备属性
    ip link set dev eth1 down:	禁用网卡.
    ip link set dev eth1 up:	启用网卡.
    	multlcast on | multlcast off:	启用或者禁用多播.
    	name:		重命名.
    	mtu		设置mtu大小.
    

     ip地址相关

        ip addr show     查看ip
        ip addr list     查看ip
        添加IP地址:
    	ip addr add 192.168.0.1/24 dev eth1
    	ip addr add 10.0.0.10/8 dev eth1 label eth1:0 (添加别名)			
        删除IP:
    	ip addr del 10.0.0.10/8 eth1
        清空地址:
    	ip addr flush dev eth1
    

    路由相关

     1) 查看路由:
    	ip route list 
        2) 添加路由 
    	ip route add 10.0.0.0/24 dev eth1
    	ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 下一跳
    	ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
    		via: 网关下一跳.
    		dev: 设备.
    		src: 源ip地址. 
         3) 删除路由
    	ip rout del 192.168.1.0/24			
        4) 清空路由表
    	ip route flush dev eth1

    ss

    语法: ss [options] [FILTER] 
    选项: 
        -t: TCP/IP协议协议链接. 
        -u: UDP协议链接. 
        -w: 裸套接字 socket 相关链接.
        -l: 监听状态的链接. 
        -a: 显示所有状态的链接. 
        -n: 数字格式. 
        -p: 显示相关的程序及其PID. 
        -e: 扩展格式信息. 
        -m: 内存使用量. 
        -o: 计时器信息. 
    常用组合: -tnl -tpnl -tn

    ss高级用法

    FILTER := [ state TCP-STATE ] [ EXPRESSION ]
    EXPRESSION:
    	dport= 目标端口
    	sport= 源端口
    示例:
    	'( dport = :22 or sport = :22 )'
    
    
    ss -tnl state ESTABLISHED 
    ss -l 显示本地打开的所有端口
    ss -pl 显示每个进程具体打开的socket
    ss -t -a 显示所有tcp socket
    ss -u -a 显示所有的UDP Socekt
    ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
    ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
    ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
    ss -s 列出当前socket详细信息 

    本章练习题

    1. 关闭或启动网卡使用两种命令完成
    
    
    2. ip 命令查看网卡属性。
    
    
    3. 使用 iprout2 命令给eth0 添加一个网关。在删除并默写清空路由表命令
    
    
    4. 使用 ss 命令查看当前建立连接的http协议。
    
    
    5. 使用ss命令查看监听状态的tcp启动的服务并查看器端口号
    
    
    6. 默写tcp 的11种状态
         closed    
         listen    
         syn_rcvd  
         syn_sent  
         established 
    	 
         FIN_WAIT_1 
         FIN_WAIT_2 
         TIME_WAIT 
    	 
    	 
         CLOSING  
         CLOSE_WAIT 
    	
         LAST_ACK    
    	
    7. TCP三次握手
         
    	  
    8. 四次挥手
       
    	
    	
    TCP报文格式详解
            https://www.cnblogs.com/feng9exe/p/8058891.html
    HTTP报文格式详解
    	https://www.cnblogs.com/wolfshining/p/8670219.html
    	https://blog.csdn.net/zx_emily/article/details/83024065

    答案

    1. 关闭或启动网卡
        ifup eth0
    	ifdown eth0
    
    2. ip 命令查看网卡属性。
        ip link show
    
    3. 使用 iprout2 命令给eth0 添加一个网关。在删除并默写清空路由表命令
        ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0
        ip route del 192.168.0./24
    	ip route flash dev eth0 
    
    4. 使用 ss 命令查看当前建立连接的http协议。
        ss -o state established '( dport = :http or sport = :http )'
    
    5. 使用ss命令查看监听状态的tcp启动的服务并查看器端口号
        ss -tnlp 
    
    6. 默写tcp 的11种状态
         closed    关闭状态
    	 listen    监听状态,可接受客户端的连接
    	 syn_rcvd  服务端接收到客户端的SYN报文请求。很难监听到
    	 syn_sent  与上个状态相呼应,客户端等待服务端的发送三次握手的第二个报文。表示客户端已经发送报文
    	 established 建立tcp连接
    	 
    	 FIN_WAIT_1 表示等待FIN报文,主动关闭连接进入此状态等待ACK报文,此状态很难监听到。
    	 FIN_WAIT_2 对方回应ACK报文进入此状态,等待对方关闭完成四次握手过程。
    	 
    	 TIME_WAIT 主动关闭连接会进入TIME_WAIT状态,可会断会发送最后一个ACK即四次挥手,就会进入TIME_WAIT状态,停留2MSL就会进入CLOSED状态。
    	 
    	 
    	CLOSING   双方同时出现发出了FIN报文就会出现CLOSING状态,表示双方都在关闭SOCKET连接。
    	
        CLOSE_WAIT 表示等待关闭,接收到一个FIN报文后回应一个ACK报文给对方,此时进入此状态,检查是否还有没有数据给对方,没有则发送FIN报文给对方,即关闭自己到对方的连接,如果有数据具体看程序。
    	
    	LAST_ACK    当发送了FIN报文后等待对方的ACK报文就会处于此状态受到了ACK报文后,就会进入CLOSED关闭状态。
    	
    7. TCP三次握手
          1) 连理连接 客户端发送syn(SYN表示请求建立连接)包(SYN=1)到服务器并进入 SYN_SEND状态等待服务器确认。
    	  2) 服务器受到SYN包,必须确认客户端的SYN发送ACK(表示接受去人)包(ACK=1),并发送自己的SYN包(syn=1),此时服务器进入SYN_RECV状态。
    	  3) 客户端受到服务器的SYN+ACK包,向服务器发送确认包。ACK(ACK=1),此包发送完毕客户端和服务端进入ESTABLISHED状态完成三次握手。
    	  
    8. 四次挥手
        1) 客户端发送FIN(希望中断连接)包(FIN=1)此时seq=u,(等于前面已经发送过来的数据最后一个字节的序号加1)此时客户端进入FIN_WAIT_1(终止等待1)状态
    	2) 客户端收到FIN包,发出确认报文ACK=1,ACK=u+1 并且带上自己的序列号seq=v ,此时服务器进入 CLOSE_WAIT状态(等待关闭).此时服务器tcp会通知应用程序,客户端向服务器方向的通信释放,但服务器如果向客户端发送数据客户端依然可以接受,此时处于半监听状态,CLOSE_WAIT状态会持续一段时间。
    	3) 客户端收到服务器的确认请求之后,此时客户端进入FIN_WAIT_2(等待终止2) 等待服务器发送释放报文,(此时客户端还需接受服务器发送的最后数据)
    	4) 服务器将数据发送完毕之后,向客户端发送释放报文,FIN=1 ack=u+1 由于半关闭状态有可能发送了数据此时seq=w ,此时服务器进入 LAST_ACK(最后确认)状态。等待客户端确认。
    	5) 客户端收到服务端的释放报文后,必须发送 ACK=1 ,ack=w+1 ,而自己的序列号为seq=u+1 此时客户端进入TIME_WAIT(时间等待)状态。此时TCP连接没有完全释放,经过2MSL最长报文段寿命后,才会进入CLOSED状态。
    	6) 服务器收到客户端发出的确认,立即进入CLOSED状态。
    	
    	
    	TCP报文格式详解
    	https://www.cnblogs.com/feng9exe/p/8058891.html
    	HTTP报文格式详解
    	https://www.cnblogs.com/wolfshining/p/8670219.html
    	https://blog.csdn.net/zx_emily/article/details/83024065
    

      

  • 相关阅读:
    Kubernetes日常维护命令
    4-docker的三要素
    3-docker的安装
    2-docker介绍
    1-为什么要使用docker
    块存储、文件存储、对象存储意义及差异
    ceph分布式存储的搭建
    YAML入门:以创建一个Kubernetes deployment为例
    Zabbix通过SQL语句从数据库获取数据说明
    图解HTTP--03--http报文内的信息
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/12323845.html
Copyright © 2011-2022 走看看