一、網絡基礎測試命令
IP
iproute 軟件包 提供 ip
命令
sudo ip addr add 192.168.0.193/24 dev wlan0
sudo ip addr del 192.168.0.193/24 dev wlan0
ip addr show wlan0
ip route show
查看一個 ip 的路由路徑
➜ ~ ip route get 220.181.111.188
# 百度的ip 從 本機的 網關IP 本機的設備 到 本機的 ip
220.181.111.188 via 172.16.153.2 dev bond0 src 172.16.153.129
cache mtu 1500 advmss 1460 hoplimit 64
更改默認路由
sudo ip route add default via 192.168.0.196
使用ip命令還可以顯示不同網絡接口的統計數據。
➜ ~ ip -s link
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
RX: bytes packets errors dropped overrun mcast
2091544 9847 0 0 0 0
TX: bytes packets errors dropped carrier collsns
2091544 9847 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:0c:29:99:78:8a brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
26638475 35182 0 0 0 0
TX: bytes packets errors dropped carrier collsns
4541782 23909 0 0 0 0
當你需要獲取一個特定網絡接口的信息時,在網絡接口名字後面添加選項ls即可。使用多個選項-s會給你這個特定接口更詳細的信息。特別是在排除網絡連接故障時,這會非常有用。
➜ ~ ip -s -s link ls eth0
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:0c:29:99:78:8a brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
26645437 35263 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
4547456 23950 0 0 0 0
TX errors: aborted fifo window heartbeat
0 0 0 0
使用 ip 命令的 neigh 選項,你可以查看接入本機所在的局域網的其他設備的MAC地址
➜ ~ ip neigh
172.16.153.254 dev bond0 lladdr 00:50:56:ea:83:0c STALE
172.16.153.2 dev bond0 lladdr 00:50:56:e6:50:d4 STALE
172.16.153.1 dev bond0 lladdr 00:50:56:c0:00:08 REACHABLE
也可以使用ip命令查看netlink消息。monitor選項允許你查看網絡設備的狀態。比如,所在局域網的一臺電腦根據它的狀態可以被分類成REACHABLE或者STALE。使用下面的命令:
➜ ~ ip monitor all
[NEIGH]172.16.153.1 dev bond0 lladdr 00:50:56:c0:00:08 STALE
[NEIGH]172.16.153.1 dev bond0 lladdr 00:50:56:c0:00:08 REACHABLE
- 你可以使用ip命令的up和down選項來激某個特定的接口,就像ifconfig的用法一樣。
$ sudo ip link set eth1 down
$ sudo ip link set eth1 up
- 想知道關於route選項更多的信息
ip route help
本機 IP 和主機名
配置本機靜態 IP
系統網卡的配置文件在 /etc/sysconfig/network-scripts
目錄下
網卡配置文件默認是以 ifcfg-
開頭的。
比如網卡名是 enp0s3
其配置文件名就是 ifcfg-enp0s3
TYPE=Ethernet # 網絡類型,不需要編輯
BOOTPROTO=none # 獲取地址的方式,可選值 none 表示手動配置 , dhcp 表示從 DHCP 服務器自動獲取
IPADDR=192.168.1.52 # 本機的IP 地址
PREFIX=24 # 子網掩碼前綴的方式,24 表示 255.255.255.0
GATEWAY=192.168.1.1 # 網關
DNS1=114.114.114.114 # 手動配置的 DNS 地址
DEFROUTE=yes
PEERDNS=no # 使用這裏設置的 DNS
ONBOOT=yes # 是否開機激活這個網卡,假如不激活,重啓網絡服務也是無效的。
配置好後,需要重啓網絡服務才能生效
systemctl restart network # 字符界面下
systemctl restartNetworkManager # 圖形界面下
配置主機名
文件 /etc/hostname
命令行設置主機名
hostnamectl set-hostname sharkhost
重新登錄生效
獲取主機名
hostname
或者
hostnamectl
配置本機解析主機名
文件路徑 /etc/hosts
一行一個
IP地址 主機名 完整的主機名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
查看監聽端口
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詳細信息
ss -n 監聽端口用數字表示
最常用的:
ss -ntal