查看负载用户登录状况用w
查看进程对cpu,内存的使用情况用top -bn1
查看内存使用情况用vmsat 1 3(动态每秒输出一次,一共输出3次)
追踪进程情况用 strace -p +进程pid
监控流量 sar -n DEV 1 10(动态每秒输出一次,一共输出10次)
sar -q 查看历史负载
sar -q -f /var/log/sa/sa(天)
查看磁盘io sar -b 1 10
ps -eo pid,args,psr查看进程在哪颗cpu上运行
netstat -lnp 查看监听端口
netstat -an 查看网络状况
抓包
tcpdump -i eth0 -nn tcp and host 192.168.2.133 and port 80 -c 100 -w 1.cap(指定抓取内容到 1.cap文件中)
还有tshark等等
tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"这条命令很常用,用来获取服务器当前访问信息。
防火墙iptables
iptables -nvL 列出目前iptable表
默认是有三种表,filter(过滤表)表,nat表(网络地址转换,路由转发),mangle表(数据标记)
其中filter表里面有三种链,INPUT(作用进入本机的包),OUTPUT(作用于本机送出的包),FORWARD(作用和本机没有关的包)
iptables -t(指定表)
iptables -A(add增加)INPUT -p (协议) tcp -s 目标ip -j DORP(丢弃)
iptables -F(清除所有规则)
iptables -Z(所有包和流量计数器置0)
一些常用参数
-A(增加一条规则INPUT ,OUTPUT......)
-D(删除一条规则)
-I(插入一条规则)
-p(协议tcp,udp.icmp..)
--dport(目的端口)
--sport(源端口)
-s(源ip地址,也可以是一个网段例如,192.168.2.1/24)
-d(目的ip地址(一般不写,因为是本机))
-j(动作:DORP丢弃,ACCEPT接受,REJECT拒绝)
-i(指定网卡eth0...)
修改规则想永久生效保存。service iptables save
/etc/sysconfig/iptables里面存放了所有规则
备份 iptables-save >备份文件
恢复备份 iptables-restore < 备份文件
service iptables stop/start
其中 -I 和-A 的区别:
-I:会让插入的规则排在第一个
-A:会让规则处在最后一个
删除规则也可以用序列号来删
先用 iptables -nVL --line-numbers查看规则前面的序列号
iptables -D 表的类型(input,output等等)+序列号
使用NAT表开启路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -S 192.168.1.0/24 -o eth0 -j MASOUERADE(表示伪装)
设置本机ping外网,但是外网不能ping本机,则可以这么设置:
iptables -I INPUT -p icmp --icmp-type 8 -j DROP