Skip to content

网络管理

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