网络管理
netstat
ss
| 参数 | 说明 |
|---|---|
| -n | 显示IP地址,不进行DNS解析 |
| -a | 显示所有socket连接 |
| -l | 显示所有监听socket |
| -p | 显示使用socket的进程 |
| -t | 仅显示TCP的socket |
| -u | 仅显示UDT的socket |
shell
ss -nlptu | column -tip
| 命令 | 参数 | 说明 | 示例 |
|---|---|---|---|
| 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 -Aipconfig
shell
# 临时设置iP
ipconfig 192.168.1.22/24netplan
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: trueyaml
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-alliptable
使用时注意 docker-chain
shell
# 添加端口
iptables -A INPUT -p tcp --dport 6443 -j ACCEPT
# 删除端口
iptables -D INPUT -p tcp --dport 6443 -j ACCEPT
# 列出所有端口
iptables -nL