在 Ubuntu 中,网络和安全命令用于管理网络接口、防火墙、SSL/TLS 证书等。以下是 Ubuntu 中常用的网络和安全命令:
- hostname:查看或设置系统的主机名。
例如,要查看当前系统的主机名,可以使用以下命令:
hostname
- dig:查找域名服务器信息。
例如,要查找 www.google.com 的域名服务器信息,可以使用以下命令:
dig www.google.com
- nslookup:另一个查找域名服务器信息的命令。
例如,要查找 www.google.com 的 IP 地址,可以使用以下命令:
nslookup www.google.com
- traceroute:显示数据包从本地到目标主机所经过的路由器信息。
例如,要查看到 www.google.com 的路由路径,可以使用以下命令:
traceroute www.google.com
- route:显示或修改系统的网络路由表。
例如,要显示当前系统的网络路由表,可以使用以下命令:
route -n
- ssh:用于在不安全的网络上安全地运行远程命令。
例如,要通过 SSH 连接到远程主机,可以使用以下命令:
ssh username@remote_host
- scp:在本地和远程系统之间传输文件。
例如,要将本地文件复制到远程主机,可以使用以下命令:
scp local_file.txt username@remote_host:/remote/directory/
- curl:用于向服务器发送请求并获取响应。
例如,要从 www.google.com 获取网页内容,可以使用以下命令:
curl http://www.google.com
- wget:将文件从 HTTP、HTTPS 或 FTP 网站下载到本地计算机中。
例如,要下载位于 www.example.com 的示例文件,可以使用以下命令:
wget http://www.example.com/file.txt
- tcpdump:用于从网络接口捕获和显示数据包。
例如,要从 eth0 接口上进行数据包捕获并显示详细信息,可以使用以下命令:
sudo tcpdump -i eth0 -v
- nmap:用于扫描网络上的主机和开放端口。
例如,要扫描目标主机 192.168.0.1,可以使用以下命令:
nmap 192.168.0.1
- iftop:类似于 top 命令,可以实时监控网络流量。
例如,要监控 eth0 接口的实时网络流量,可以使用以下命令:
sudo iftop -i eth0
- hping3:用于创建和发送自定义的 TCP/IP 数据包。
例如,要发送一个 SYN 数据包到目标主机 IP 地址为 192.168.0.1,可以使用以下命令:
sudo hping3 -S 192.168.0.1
- arp:查看或修改系统的 ARP 缓存表。
例如,要显示当前系统的 ARP 缓存表,可以使用以下命令:
arp -a
- tcpkill:用于从网络上杀死正在进行的 TCP 连接。
例如,要杀死向目标主机的 TCP 连接,可以使用以下命令:
sudo tcpkill host <target_host>
- ss:查看系统的套接字统计信息。
例如,要显示所有 TCP 连接的详细信息,可以使用以下命令:
sudo ss -t
- ip:用于显示和修改系统的网络设置。
例如,要显示当前系统的 IP 地址,可以使用以下命令:
ip addr show
- nc:用于创建任何类型的网络连接。
例如,要通过 TCP 连接到远程主机的端口 80,可以使用以下命令:
nc remote_host 80
- lsof:查看打开的文件和网络连接列表。
例如,要显示所有打开的网络连接,可以使用以下命令:
sudo lsof -i
- fail2ban:自动禁止那些试图暴力破解 SSH 登录的 IP 地址。
例如,在安装 fail2ban 后,可以使用以下命令启用 SSH 监视器:
sudo systemctl enable fail2ban-ssh
- ufw:Ubuntu 系统默认的简单防火墙。
例如,要允许对本地端口 22 的 SSH 连接,可以使用以下命令:
sudo ufw allow 22
- snort:用于检测和预防网络攻击。
例如,在安装 snort 后,可以使用以下命令启动 snort:
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf
- logwatch:自动生成包含系统日志的摘要。
例如,在安装 logwatch 后,可以使用以下命令发送一个 logwatch 摘要到管理员邮箱:
sudo logwatch --mailto admin@example.com --output mail --format html
- lynis:一种自动化系统审计工具,用于发现安全问题和系统配置错误。
例如,在安装 lynis 后,可以使用以下命令运行系统审计:
sudo lynis audit system
- rkhunter:用于检测系统上是否存在恶意软件或后门程序。
例如,在安装 rkhunter 后,可以使用以下命令运行系统扫描:
sudo rkhunter --check
- tripwire:用于监控文件和目录的完整性。
例如,在安装 tripwire 后,可以使用以下命令初始化 tripwire 数据库:
sudo twadmin --create-cfgfile --cfgfile /etc/tripwire/tw.cfg --site-keyfile /etc/tripwire/site.key
sudo tripwire --init
- openssl s_client:用于测试 SSL/TLS 服务器的连接。
例如,要测试与 www.example.com 的 SSL/TLS 连接,可以使用以下命令:
openssl s_client -connect www.example.com:443
- openssl s_server:用于启动一个自定义 SSL/TLS 服务器。
例如,要在本地计算机上启动一个 SSL/TLS 服务器,可以使用以下命令:
openssl s_server -cert cert.pem -key key.pem -accept 443
- stunnel:为非 SSL 加密的应用程序提供 SSL/TLS 加密。
例如,在安装 stunnel 后,可以使用以下命令启动一个 SSL/TLS 代理:
sudo stunnel /etc/stunnel/stunnel.conf
- nftables:Linux 内核中新的替代防火墙软件 IPtables。
例如,要允许所有从 eth0 进入的 SSH 流量,可以使用以下命令:
sudo nft add rule inet filter input eth0 tcp dport 22 accept
以上是 Ubuntu 中更多常用的网络和安全命令。如果需要了解这些命令的详细信息,请使用 man 命令查看命令的手册页。