linux下日常系统管理

查看负载用户登录状况用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










你可能感兴趣的:(linux)