1. 程式人生 > >網絡命令(八)

網絡命令(八)

網絡 網卡 接口

網卡配置管理命令:ip, ifconfig,mii-tool,ethtool,ping,netstat,ss

路由設置管理命令:route,traceroute ,tracert


8.1.ifconfig

功能:配置打印網絡接口

語法:ifconfig [interface]

ifconfig interface [aftype] options | address ...

常用選項:

up:啟用網卡

down:停用網卡

-a:顯示所有網卡信息

示例:

[[email protected] ~]# ifconfig eth0  #顯示指定網卡信息
[[email protected]
/* */ ~]# ifconfig eth0 down #停用網卡,eth0信息不顯示了

技術分享

技術分享

eth0啟用又顯示了

[[email protected] ~]# ifconfig -a  #顯示所有網卡信息
[[email protected] ~]# ifconfig eth0:0 192.168.10.1/24 設置臨時網卡

技術分享

8.2.mii-tool

功能:查看操作接口狀態

示例:

[[email protected] ~]# mii-tool eth0  #查看網卡狀態,以前的虛擬機裏不支持,現在vmware的版本裏是支持的
eth0: negotiated 100baseTx-FD, link ok   #網卡連接ok
# mii-tool eth0
eth0: no link--代表網線和網卡沒連

8.3.ethtool

功能:查詢和設置網絡硬件信息

示例:

[[email protected] ~]# ethtool eth0   #查看網卡的工作模式等信息
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
# ethtool -s eth0 speed 10 duplex half autoneg off #改成10M/s的速率,半雙工,關閉自動協商
# ethtool -s eth0 speed 100 duplex full autoneg on#再改回來

8.4.ip(重點掌握的,centos7對ifconfig已經弱化了)

功能:打印並設置路由、設備、策略路由和隧道配置信息

語法:語法十分復雜,這裏不一一列舉

通過ip組合衍生出好多命令

ip link 網絡設備配置命令

ip addr 管理網絡設備與協議,相對ip link,增加了對ip地址的管理

ip addrlabel ipv6的地址標簽

ip route 管理路由

ip rule 管理路由策略

ip tunnel 隧道配置

ip maddr 多播地址管理

ip mroute 多播路由管理

ip monitor 狀態監控

ip xfrm 設置xfrm,xfrm是一個ip框架

示例:

[[email protected] ~]# ip link show #查看默認網卡信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:a0:3f:29 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:a0:3f:29 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.54/24 brd 192.168.19.255 scope global eth0
    inet6 fe80::20c:29ff:fea0:3f29/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr show  跟ip addr顯示沒有什麽區別
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:a0:3f:29 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.54/24 brd 192.168.19.255 scope global eth0
    inet6 fe80::20c:29ff:fea0:3f29/64 scope link 
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr add dev eth0 192.168.11.1/24 label eth0:1
[[email protected] ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:a0:3f:29 brd ff:ff:ff:ff:ff:ff
    inet 192.168.19.54/24 brd 192.168.19.255 scope global eth0   
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth0:0   
    inet 192.168.11.1/24 scope global eth0:1   添加臨時網卡及ip,這裏已經有顯示
    inet6 fe80::20c:29ff:fea0:3f29/64 scope link
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr del dev eth0 192.168.10.1  #刪除臨時及網卡
[[email protected] ~]# ip addr flush eth0  #刷新網絡設備

技術分享

說明:ip地址也被清除了

[[email protected] ~]# ip route add 192.168.20.0/24 via 192.168.19.54  #設置一條靜態路由
[[email protected] ~]# ip route show   #查看已經生效了
192.168.20.0/24 via 192.168.19.54 dev eth0 
192.168.19.0/24 dev eth0  proto kernel  scope link  src 192.168.19.54 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.19.2 dev eth0 
[[email protected] ~]# ip route del 192.168.20.0/24    #刪除剛剛設置的路由
[[email protected] ~]# ip route 
192.168.19.0/24 dev eth0  proto kernel  scope link  src 192.168.19.54 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.19.2 dev eth0

8.5.route

功能:打印設置路由表

常用選項:

-n:不使用通訊協定或主機名稱,直接使用 IP port number

-ee:顯示更詳細的信息

增加 (add) 與刪除 (del) 路由的相關參數:

-net :添加到網絡的路由

-host :添加到主機的路由

netmask :子網掩碼設置

gw :下一跳地址

dev :下一跳網絡接口,後面接 eth0 等

示例:

[[email protected] ~]# route -n  #查看路由表,netstat -rn也可以查看
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.19.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.19.2    0.0.0.0         UG    0      0        0 eth0
#添加到主機的路由
[[email protected] ~]# route add -host 192.168.6.1 dev eth0
[[email protected] ~]# route add -host 192.168.6.12 gw 192.168.6.1
#添加到網絡的路由
[[email protected] ~]# route add -net 192.168.6.1 netmask 255.255.255.0 eth0
[[email protected] ~]# route add -net 192.168.6.1 netmask 255.255.255.0 eth0 gw 192.168.6.2
[[email protected] ~]# route add -net 192.168.6.1/24
#添加默認網關
[[email protected] ~]# route add default gw 1.1.1.2
#刪除路由
[[email protected] ~]# route del -host 192.168.6.1 dev eth0
[[email protected] ~]# route del -net  192.168.6.1 netmask 255.255.255.0 eth0
[[email protected] ~]# route del  default gw 1.1.1.2

8.6.ping

功能:發送目標主機ICMP的網絡請求

常用選項:

-c:次數

示例:

[[email protected] ~]# ping -c 3 192.168.19.1  #不加-c會一直ping下去
PING 192.168.19.1 (192.168.19.1) 56(84) bytes of data.
64 bytes from 192.168.19.1: icmp_seq=1 ttl=128 time=0.125 ms
64 bytes from 192.168.19.1: icmp_seq=2 ttl=128 time=0.381 ms
64 bytes from 192.168.19.1: icmp_seq=3 ttl=128 time=0.386 ms
--- 192.168.19.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.125/0.297/0.386/0.122 ms

8.7.traceroute

功能:將路由包跟蹤打印到網絡主機上

常用選項:

-I --icmp Use ICMP ECHO for tracerouting #ICMP協議請求路由包
-T --tcp Use TCP SYN for tracerouting #tcp協議請求路由包
-p port --port=port #端口請求

示例:

[[email protected] ~]# traceroute baidu.com
traceroute to baidu.com (180.149.132.47), 30 hops max, 60 byte packets
 1  192.168.19.2 (192.168.19.2)  0.086 ms  0.037 ms  0.041 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
說明:*號主要是服務器把udp數據包屏蔽了,所有沒有返回ICMP
[[email protected] ~]# traceroute -T -p 80 baidu.com
traceroute to baidu.com (180.149.132.47), 30 hops max, 52 byte packets
 1  192.168.19.2 (192.168.19.2)  0.168 ms  0.072 ms  0.101 ms
 2  180.149.132.47 (180.149.132.47)  42.414 ms  37.795 ms  38.718 ms

8.8.tracert

功能:將路由包跟蹤打印到網絡主機上 (windows上使用的命令)

-d:指定不將ip地址解析到主機名稱

-h:maximum_hops 指定躍點數以跟蹤到稱為target_name的主機路由

w:等待由timeout對每個應答指定的毫秒數

target_name:目標主機的名稱或ip地址

示例:

技術分享

技術分享

8.9.netstat

功能:打印網絡連接、路由表、接口統計信息、偽裝連接和多播成員

常用選項:

-r 顯示路由表

-i 顯示接口表

-n 不解析名字

-p 顯示程序名 PID/Program

-l 顯示監聽的socket

-a 顯示所有socket

-o 顯示計時器

-Z 顯示上下文

-t 只顯示tcp連接

-u 只顯示udp連接

-s 顯示每個協議統計信息

示例:

[[email protected] ~]# netstat -tlunap  #顯示所有監聽端口
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      897/sshd            
tcp        0     96 192.168.19.54:22            192.168.19.1:7024           ESTABLISHED 15148/sshd          
tcp        0      0 192.168.19.54:22            192.168.19.1:7023           ESTABLISHED 15129/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      897/sshd            
tcp        0      0 :::80                       :::*                        LISTEN      13764/httpd  
[[email protected] ~]# netstat -tlnap   #顯示所有tcp連接
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      897/sshd            
tcp        0      0 192.168.19.54:22            192.168.19.1:7024           ESTABLISHED 15148/sshd          
tcp        0      0 192.168.19.54:22            192.168.19.1:7023           ESTABLISHED 15129/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      897/sshd            
tcp        0      0 :::80   
[[email protected] ~]# netstat -ulnap    #顯示所有udp連接,目前沒有udp連接,所以為空
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
[[email protected] ~]# netstat -r  #可以顯示路由表信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.19.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.19.2    0.0.0.0         UG        0 0          0 eth0

8.10.ss

功能:另一個比netstat更強大的socket查看工具

語法:ss [options] [ FILTER ]

常用選項:

-n 不解析名字

-a 顯示所有socket

-l 顯示所有監聽的socket

-o 顯示計時器

-e 顯示socket詳細信息

-m 顯示socket內存使用

-p 顯示進程使用的socket

-i 顯示內部TCP信息

-s 顯示socket使用匯總

-4 只顯示IPV4的socket

-0 顯示包socket

-t 只顯示TCP socket

-u 只顯示UDP socket

-d 只顯示DCCP socket

-w 只顯示RAW socket

-x 只顯示Unix域socket

-f FAMILY 只顯示socket族類型( unix, inet,inet6, link, netlink)

-A 查詢socket{all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

-D 將原始的TCP socket轉儲到文件

-F 從文件中讀取過濾信息

過濾:

-o state 顯示TCP連接狀態信息

示例:

[[email protected] ~]# ss -t -a #顯示所有tcp連接
State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port   
LISTEN     0      128                    :::ssh                     :::*       
LISTEN     0      128                     *:ssh                      *:*       
LISTEN     0      511                    :::http                    :::*       
ESTAB      0      0           192.168.19.54:ssh           192.168.19.1:7024    
ESTAB      0      0           192.168.19.54:ssh           192.168.19.1:7023
[[email protected] ~]# ss -u -a  #顯示所有udp連接
State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
[[email protected] ~]# ss -s  #顯示所有socket
Total: 287 (kernel 295)
TCP:   6 (estab 2, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 2
Transport Total     IP        IPv6
*         295       -         -        
RAW       0         0         0        
UDP       0         0         0        
TCP       5         3         2        
INET      5         3         2        
FRAG      0         0         0        
[[email protected] ~]# ss -o state established  #顯示已經建立的連接
Recv-Q Send-Q           Local Address:Port               Peer Address:Port  
0      0                192.168.19.54:ssh                192.168.19.1:7024     timer:(keepalive,25min,0)
0      96               192.168.19.54:ssh                192.168.19.1:7023     timer:(on,248ms,0)
[[email protected] ~]# ss -o state TIME_WAIT #顯示所有的timeout,這裏沒有的
ss: no socket states to show with such filter

本文出自 “爛筆頭” 博客,請務必保留此出處http://lanbitou.blog.51cto.com/9921494/1930601

網絡命令(八)