網絡命令(八)
網卡配置管理命令: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]
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
網絡命令(八)