Linux备忘录

netstat

  • -a 或 --all:显示所有连线中的 Socket。

  • -c 或 --continuous:持续列出网络状态。

  • -e 或 --extend:显示网络其他相关信息。

  • -i 或 --interfaces:显示网络界面信息表单。

  • -l 或 --listening:显示监控中的服务器的 Socket。

  • -n 或 --numeric:直接使用 IP 地址,而不通过域名服务器。

  • -p 或 --programs:显示正在使用 Socket 的程序识别码和程序名称。

  • -r 或 --route:显示 Routing Table。

  • -s 或 --statistics:显示网络工作信息统计表。

  • -t 或 --tcp:显示 TCP 传输协议的连线状况。

  • -u 或 --udp:显示 UDP 传输协议的连线状况

查看所有监听状态的 TCP 相关信息(一般使用此命令来查找主机上哪个程序占用哪个端口;或者是否服务正常启动,正常监听端口)

netstat -nltp

找程序运行的端口,例如:

netstat -tunlp | grep ssh

找出运行在指定端口的进程

netstat -an | grep ":9998"

dd

dd if=/dev/zero of=ddtest bs=1G count=5

生成指定大小文件

  • if指定输入文件,若不指定则从标注输入读取。/dev/zero是Linux的一个伪文件,它可以产生不断的null流(二进制的0)

  • of指定输出文件,若不指定则输出到标准输出

  • bs每次读写的字节数,可以使用 K、M、G

  • count读取的block数,也可以简单理解为写入几次

iptables

  • 开放端口

    开放TCP端口(如80)

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    开放UDP端口(如123)

    sudo iptables -A INPUT -p udp --dport 123 -j ACCEPT

    开放TCP端口范围(10000-20000)

    sudo iptables -A INPUT -p tcp --dport 10000:20000 -j ACCEPT

    永久生效:

    Debian/Ubuntu

    sudo iptables-save > /etc/iptables/rules.v4

    CentOS/RHEL

    sudo service iptables save

  • 禁用端口

    禁用TCP端口(如22)

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP

    禁用TCP端口范围(8000-9000)

    sudo iptables -A INPUT -p tcp --dport 8000:9000 -j DROP

    查看规则编号

    sudo iptables -L INPUT --line-numbers

    删除指定规则(如编号3)

    sudo iptables -D INPUT 3

  • 开放ip

    ​​允许单个IP访问所有端口

    sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

    ​允许IP访问指定端口

    sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT

  • 禁用ip

    禁止单个IP

    sudo iptables -A INPUT -s 192.168.1.100 -j DROP

    ​​禁止IP段

    sudo iptables -A INPUT -s 192.168.0.0/16 -j DROP

firewalld

  • 查看所有开放的端口

    firewall-cmd --list-ports  # 列出当前开放的端口列表(如:8080/tcp)
    
    firewall-cmd --list-all    # 显示详细配置(包括端口、服务、富规则等)
    
  • 查询特定端口状态

    firewall-cmd --query-port=80/tcp # 返回 "yes" 表示开放,"no" 表示未开放

  • ​查看指定区域的配置

    firewall-cmd --zone=public --list-ports  # 查看 public 区域的开放端口
    
    firewall-cmd --zone=public --list-sources  # 查看允许的 IP 或 IP 段
    
  • 开放单个端口

    firewall-cmd --zone=public --add-port=8080/tcp --permanent  # 永久开放 TCP 8080 端口
    
    firewall-cmd --reload  # 重载配置使规则生效
    
  • 批量开放端口

    firewall-cmd --zone=public --add-port=8080-8090/tcp --permanent  # 开放端口范围
    
    firewall-cmd --add-port={80,443}/tcp --permanent  # 同时开放多个离散端口
    
  • ​通过服务名称开放

    firewall-cmd --add-service=http --permanent  # 开放 HTTP 服务(默认绑定 80/tcp)
    
  • ​允许特定 IP/IP 段访问端口

    # 允许 192.168.1.100 访问 TCP 80 端口
    
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=80 protocol="tcp" accept'
    
  • ​关闭单个端口

    firewall-cmd --zone=public --remove-port=8080/tcp --permanent  # 移除 TCP 8080 端口
    
    firewall-cmd --reload  # 重载生效
    
  • ​禁止 IP/IP 段访问

    # 拒绝 10.0.0.0/24 网段访问 TCP 3306 端口
    
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port port=3306 protocol="tcp" reject'
    
  • 禁用服务

    firewall-cmd --remove-service=ftp --permanent  # 关闭 FTP 服务(自动关联端口)
    
  • 重新加载规则

    重新加载规则确保生效

    firewall-cmd  --reload
    
posted @ 2025-04-11 11:17  VictoryHan  阅读(26)  评论(0)    收藏  举报