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 (接收所有经过网卡的数据包)


路由管理命令

查看:route -n

添加:route add

    route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

    添加三种路由的方式:

        主机路由:route -a -host 172.16.18.18 gw 172.18.0.1 dev eth0

        网络路由:route -a -net 172.16.0.0/16 gw 172.18.0.1dev eth0

                         route -a -net 172.16.0.0 netmask 255.255.0.0 gw 172.18.0.1 dev eth0

        默认路由:route -a -net 0.0.0.0 netmask 0.0.0.0 gw 172.18.0.1 dev eth0

                         route -a default gw 172.18.0.1 dev eth0

        ps:设备号有时可不写,系统会自动识别,依实际情况而定


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: raw socket相关

        -l: 处于监听状态

        -a: 所有状态

        -n: 以数字显示IP和端口

        -e:扩展格式

        -p: 显示相关进程及PID

常用组合:

    -tan, -uan, -tnl, -unl


显示路由表:

    netstat  {--route|-r} [--numeric|-n]

        -r: 显示内核路由表

        -n: 数字格式


显示接口统计数据:

    netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] 

    netstat -i 显示全部

    netstat -I IFACE 中间不能够有空格,如-Ieth0 


注:ifconfig netstat 命令历史久远,逐渐被ip命令取代,但目前最新版centos还可以使用(7.4)


ip

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 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 delete

            ip route del TARGET

        显示路由:ip route show|list

        清空路由表:ip route flush [dev IFACE] [via PREFIX]

            ip route flush dev eth0



ss命令:

格式:ss [OPTION]... [FILTER]

选项:

-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:终止等待1

FIN_WAIT_2:终止等待2

SYN_SENT:syn发送

SYN_RECV:syn接收

CLOSED:关闭


EXPRESSION:

                                        dport = 

sport = 

示例:ss '( 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详细信息

       

                    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详细信息