日期:2014-05-16  浏览次数:20738 次

LINUX技巧笔记1
1 Ipv6的禁用
1. # vim /etc/modprobe.conf
在其中加入下面这一行,
install ipv6 /bin/true
保存并退出。

2. # vim /etc/sysconfig/network
在其中加入下面配置项:

NETWORKING_IPV6=no
IPV6INIT=no

保存并退出文件,重启网络与服务器:

# lsmod | grep ipv6
# ifconfig -a


显示全部互联网(端口80)连接数量:  $ netstat -an |grep :80 |wc -l 
*显示机器上监听的所有端口:  $ netstat -ant | grep LISTEN 
* netstat -nat | awk '/^tcp/{++S[$NF]}END{for (a in S) print a,S[a]}'
实时查看不同的连接状态的包。
1.查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 或
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'

netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn

netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

2.查找请求数请20个IP(常用于查找攻来源):
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A[i],i}' |sort -rn|head -n20

3.用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

4.查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

5.找查较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

6.根据端口列进程
netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1



7 收集系统信息的SHELL
  #!/bin/bash
##################
#System Auto Report
#Author:hx10
##################
LANG=en_US
NUM=` echo -------------`
DIR=`pwd`
HOST=`hostname`
CPU=`top -n 1 |grep Cpu |awk '{print $2}'|awk -F us, '{print $1}'`
DATE=$(/bin/date -d "today" +"%Y-%m-%d    %H:%M:%S")
MEMORY=`free -m |grep "buffers/cache"|awk '{print "used:"$3"M" "   free:"$4"M"}'`
SWAP=`free -m | grep Swap |awk '{print "used:"$3"M" "   free:"$4"M"}'`
ADDR=`/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}'`
DISK=$(df -h |awk '{print $6"\t"$5"\t"$2"\t"$4"\t"$3"\t"}'|grep -v /monitor|grep -v /media)
LOAD=`top -n 1 |grep "load average:" |awk '{print$12$13$14}'`
output="
`echo "###################################################################"`\n
Date:$DATE\n
Hostname:$HOST\n
IP Address:$ADDR\n
CPU Usage:$CPU\n
Memory Uasge:$MEMORY\n
Swap Uasge:$SWAP\n
Load Balance:$LOAD\n
Disk Usage:"
echo -e $output >>/$DIR/system.log
df -h |grep -v 'mnt'|grep -v 'monitor'|grep -v ':'|grep -v 'tmpfs'>>/$DIR/system.log
exit 0



8 pgrep---进程查找命令
   判断进程是否在运行
   pgrep sshd,列出所有的sshd进程和进程号
9 vmstat中的一些参数
   vmstat –a后,会多了内存的两个参数inact:未使用的内存空间;active:已使用的内存空间
查看磁盘vmstat –d,一次性查看vmstat –D
查看内存 vmstat -s