网络管理
大约 3 分钟
网络状态
相关信息
LISTEN 在监听状态中
ESTABLISHED 已经建立连接的联机状态
TIME_WAIT 目前为等待状态
CLOSE_WAIT 被动关闭的一方,收到FIN包后,协议层回复ACK(阻塞住了)
FIN_WAIT_2 主动关闭的一方等待对方关闭
netstat命令-Linux
打印网络连接、路由表、网络接口统计信息
参数 | 释义 |
---|---|
-a | #显示所有socket,包括正在监听的 |
-n | #使用数字形式的IP |
-t | #查看tcp连接信息 |
-p | #显示进程及对应ID号 |
-l | #显示正在监听的sockets接口信息 |
-u | #查看udp连接信息 |
-s | #显示各种协议统计信息 |
netstat命令-Windows
netstat 用于显示与IP 、TCP 、UDP 和ICMP 协议相关的统计数据
参数 | 释义 |
---|---|
-a | #显示所有连接和监听端口 |
-n | #以数字形式显示地址和端口号,显示所有已建立的有效连接 |
-o | #显示进程 PID |
-p | #proto ,指定协议TCP、UDP |
-r | #打印路由表,同 route print |
ss命令(Linux)
ss -l
ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效
连接数汇总
#查看当前TCP连接的状态和对应的连接数量
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
#等同于以下命令
netstat -antp |grep ESTABLISHED |wc -l
Linux网络代理
开启socks5代理
docker run -d --name ss5_proxy -p 1080:1080 -e USER=admin -e PASS=admin123 --restart=always imdevops/ss5_proxy:latest
配置全局代理(HTTP)
#开启代理
vi /etc/profile
export proxy="http://192.168.1.2:12345"
export http_proxy=$proxy
export https_proxy=$proxy
source /etc/profile
#关闭代理
unset http_proxy
unset https_proxy
source /etc/profile
防火墙管理
配置防火墙需要管理员权限
#查看防火墙状态
firewall-cmd --state
systemctl start firewall.service #开启防火墙
systemctl stop firewall.service #停止防火墙
systemctl disable firewall.service #禁止开机启动
#SELinux是「Security-Enhanced Linux」的简称,是Linux的一个扩张强制访问控制安全模块
getenforce #查看selinux状态
setenforce 0#临时关闭SELinux
#永久关闭SELinux
vim /etc/selinux/config
SELINUX=disabled
#给防火墙添加放行规则
firewall-cmd --permanent --zone=public --add-service=api服务
firewall-cmd --reload #重载防火墙配置
#Ubuntu查看当前 UFW 的状态
sudo ufw status verbose
#拒绝所有入站流量
sudo ufw default deny incoming
#允许来自特定IP的SSH访问
sudo ufw allow from 192.168.1.100 to any port 22
#允许所有出站流量
sudo ufw default allow outgoing
#显示所有动态入站规则
netsh advfirewall firewall show rule name=all dir=in type=dynamic
#关闭防火墙
netsh advfirewall set allprofiles state off
#允许入站
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="c:\nc.exe"
#允许出站
netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="c:\nc.exe"
#3389端口放行
netsh advfirewall firewall add rule name="remote Desktop" protocol=TCP dir=in localport=3389 action=allow
#自定义防火墙日志存储位置
netsh advfirewall set currentprofile logging filename "c:\windows\temp\fw.log"
#Server 2003及之前的版本
netsh firewall set opmode disable #关闭防火墙
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable #允许指定程序的全部连接