欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux实用一句话&脚本介绍

程序员文章站 2022-09-30 13:46:41
Linux实用一句话&脚本介绍,需要的朋友可以参考下... 12-01-29...
1、查看谁破解你的ssh
cat /var/log/auth.log | grep "pam_unix(sshd:auth): authentication failure;" | cut -f14 -d\ | cut -d'=' -f2 | sort | uniq -c | sort -nr
2、查看当前网络连接数
netstat -n | awk '/^tcp/ {++s[$nf]} end {for(a in s) print a, s[a]}'
tcp连接状态详解
listen: 侦听来自远方的tcp端口的连接请求
syn-sent: 再发送连接请求后等待匹配的连接请求
syn-received:再收到和发送一个连接请求后等待对方对连接请求的确认
established: 代表一个打开的连接
fin-wait-1: 等待远程tcp连接中断请求,或先前的连接中断请求的确认
fin-wait-2: 从远程tcp等待连接中断请求
close-wait: 等待从本地用户发来的连接中断请求
closing: 等待远程tcp对连接中断的确认
last-ack: 等待原来的发向远程tcp的连接中断请求的确认
time-wait: 等待足够的时间以确保远程tcp接收到连接中断请求的确认
closed: 没有任何连接状态
3、统计80端口连接数
netstat -nat|grep -i "80"|wc -l
4、统计httpd协议连接数
ps -ef|grep httpd|wc -l
5、统计已连接上的,状态为established
netstat -na|grep established|wc -l
6、查出哪个ip地址连接最多,将其封了.
netstat -na|grep established|awk {print $5}|awk -f: {print $1}|sort|uniq -c|sort -r +0n
netstat -na|grep syn|awk {print $5}|awk -f: {print $1}|sort|uniq -c|sort -r +0n
7、防syn
# added by liang syn protect
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=200
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_tw_recycle=1
sysctl -w net.ipv4.ip_local_port_range="1024 65000"
sysctl -w net.ipv4.tcp_max_tw_buckets=5000
sysctl -w net.ipv4.tcp_synack_retries=2
sysctl -w net.ipv4.tcp_syn_retries=2
8、脚本防ssh和vsftp暴力破解
#! /bin/bash
cat /var/log/secure|awk '/failed/{print $(nf-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
define="100"
for i in `cat /root/black.txt`
do
ip=`echo $i |awk -f= '{print $1}'`
num=`echo $i|awk -f= '{print $2}'`
if [ $num -gt $define ];
then
grep $ip /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];
then
echo "sshd:$ip" >> /etc/hosts.deny
echo "vsftpd:$ip" >> /etc/hosts.deny
fi
fi
done
我的/etc/crontab文件最后一行为
* */1 * * * root sh /root/hosts_deny.sh
另外一个http://www.opsers.org/linux-home/security/use-fail2ban-to-prevent-brute-force-ftp-ssh-and-other-services.html
9、显示每个ip的连接数
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n