网络管理
netstat
ss
参数 | 说明 |
---|---|
-n | 显示IP地址,不进行DNS解析 |
-a | 显示所有socket连接 |
-l | 显示所有监听socket |
-p | 显示使用socket的进程 |
-t | 仅显示TCP的socket |
-u | 仅显示UDT的socket |
shell
ss -nlptu | column -t
ip
命令 | 参数 | 说明 | 示例 |
---|---|---|---|
ip addr | - | 显示网络接口的IP地址和状态 | ip addr |
- | <interface> | 仅显示指定网络接口的IP地址和状态 | ip addr eth0 |
- | -s | 显示每个网络接口的统计信息 | ip addr -s |
ip route | - | 显示路由表 | ip route , ip ro |
- | show | 显示路由表 | ip route show |
- | add | 添加路由 | ip route add 192.168.1.0/24 via 192.168.0.1 dev eth0 |
- | del | 删除路由 | ip route del 192.168.1.0/24 |
- | change | 更改现有路由 | ip route change 192.168.1.0/24 via 192.168.0.2 dev eth0 |
- | flush | 清除路由表 | ip route flush |
- | -s | 显示摘要信息 | ip route -s |
- | get | 显示指定目标的路由信息 | ip route get 192.168.1.100 |
- | add default | 添加默认路由 | ip route add default via 192.168.0.1 dev eth0 |
- | show to | 显示路由到指定目标的信息 | ip route show to 192.168.1.100 |
ip link | - | 显示网络接口信息 | ip link |
- | show | 显示网络接口信息 | ip link show |
- | set | 修改网络接口属性 | ip link set dev eth0 mtu 1500 |
- | add | 添加虚拟网络接口 | ip link add veth0 type veth peer name veth1 |
- | delete | 删除虚拟网络接口 | ip link delete veth0 |
- | -s | 显示摘要信息 | ip link -s |
ip neigh | - | 显示ARP缓存 | ip neigh |
- | show | 显示ARP缓存 | ip neigh show |
- | add | 添加ARP缓存 | ip neigh add 192.168.1.1 lladdr 00:11:22:33:44:55 dev eth0 |
- | delete | 删除ARP缓存 | ip neigh delete 192.168.1.1 dev eth0 |
ip rule | - | 显示策略路由规则 | ip rule |
- | add | 添加策略路由规则 | ip rule add from 192.168.1.100 table 1 |
- | delete | 删除策略路由规则 | ip rule delete from 192.168.1.100 table 1 |
ip maddress | - | 显示组播地址信息 | ip maddress |
- | show | 显示组播地址信息 | ip maddress show |
- | add | 添加组播地址 | ip maddress add 239.0.0.1 dev eth0 |
- | delete | 删除组播地址 | ip maddress delete 239.0.0.1 dev eth0 |
ip mroute | - | 显示组播路由信息 | ip mroute |
- | show | 显示组播路由信息 | ip mroute show |
- | add | 添加组播路由 | ip mroute add 239.0.0.1 dev eth0 |
- | delete | 删除组播路由 | ip mroute delete 239.0.0.1 dev eth0 |
ip tunnel | - | 显示隧道信息 | ip tunnel |
- | show | 显示隧道信息 | ip tunnel show |
- | add | 添加隧道 | ip tunnel add tun0 mode gre remote 203.0.113.1 local 198.51.100.1 ttl 255 |
- | delete | 删除隧道 | ip tunnel delete tun0 |
ip netns | - | 管理网络命名空间 | ip netns |
- | list | 列出所有网络命名空间 | ip netns list |
- | add | 添加网络命名空间 | ip netns add mynamespace |
- | delete | 删除网络命名空间 | ip netns delete mynamespace |
get
参数 | 说明 |
---|---|
-O | 指定保存的文件名后下载文件 |
--limit-rate | 限速下载 |
-c | 断点续传 |
namp
参数 | 说明 |
---|---|
-sS(常用) | TCP同步扫描 |
-sn(常用) | 不进行端口扫描,只检查主机正在运行 |
-v(常用) | 显示扫描过程中的详细信息 |
-p 端口(常用) | 指定要扫描的端口,可以是一个端口,可以是逗号分开的多个端口,或者使用-指定端口范围 |
-n(常用) | 不进行DNS解析,加快扫描速度 |
tcpdump
参数 | 说明 | 示例 |
---|---|---|
-i <interface> | 指定要监听的网络接口。 | sudo tcpdump -i eth0 |
-s <snaplen> | 指定抓取数据包的大小。 | sudo tcpdump -i eth0 -s 0 |
-n | 禁用将IP地址和端口号转换为主机名和服务名。 | sudo tcpdump -i eth0 -n |
-A | 以ASCII形式打印数据包的内容。 | sudo tcpdump -i eth0 -A |
-vvv | 增加详细程度,可以看到更多的包信息。 | sudo tcpdump -i eth0 -vvv |
-w <file> | 将抓取的数据包保存到文件中。 | sudo tcpdump -i eth0 -w capture.pcap |
tcp port <port> | 只抓取指定端口的TCP流量。 | sudo tcpdump -i eth0 tcp port 80 |
host <ip> | 只抓取特定主机的流量。 | sudo tcpdump -i eth0 host 192.168.1.100 |
<expression> | 更复杂的过滤表达式,根据需要定制过滤条件。 | sudo tcpdump -i eth0 'tcp port 80 and host 192.168.1.100' |
plain
# 直接any所有网口
tcpdump -i any -s 0 -w curl_request.pcap
# 再用命令过滤
tcpdump -r curl_request.pcap -n host 172.18.18.163 -A
ipconfig
shell
# 临时设置iP
ipconfig 192.168.1.22/24
netplan
ubuntu 下使用
yaml
network:
ethernets: {}
version: 2
renderer: networkd
bonds:
bond0:
interfaces: [ens65f0, ens65f1]
parameters:
mode: active-backup
mii-monitor-interval: 100
addresses: [172.29.101.173/24]
gateway4: 172.29.101.1
nameservers:
addresses: [10.255.255.88,10.255.254.88]
ethernets:
ens65f0:
dhcp4: no
optional: true
ens65f1:
dhcp4: no
optional: true
yaml
network:
version: 2
renderer: networkd
ethernets:
ens5f0:
dhcp4: no
ens5f1:
dhcp4: no
bonds:
bond0:
interfaces: [ens5f0, ens5f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 100
lacp-rate: fast
mtu: 1500
addresses: [172.16.4.100/25]
# gateway4: 172.16.4.126
routes:
- to: 0.0.0.0/0
via: 172.16.4.126
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
firewall
shell
sudo firewall-cmd --add-port=6443/tcp --permanent
sudo firewall-cmd --add-port=10250/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
iptable
使用时注意 docker-chain
shell
# 添加端口
iptables -A INPUT -p tcp --dport 6443 -j ACCEPT
# 删除端口
iptables -D INPUT -p tcp --dport 6443 -j ACCEPT
# 列出所有端口
iptables -nL