列出所有 ESTABLISHED 状态的连接:
1
|
netstat -nta | fgrep "ESTABLISHED" | cut -b 49-75 | cut -d ':' -f1 | sort | uniq -c | sort -n -r --key=1,7 | head -25
|
列出所有连接状态的统计:
1
|
netstat -nta | fgrep ":" | cut -b 77-90 | sort | uniq -c
|
或
1
|
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
|
简单将攻击IP列入iptables 限制范围:
1
|
netstat -an | grep -v LISTEN | awk '{print $5}' |grep -v 127.0.0.1|grep -v 本机ip|sed "s/::ffff://g"|awk 'BEGIN { FS=":" } { Num[$1]++ } END { for(i in Num) if(Num[i]>8) { print i} }' |grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'| xargs -i[] iptables -I INPUT -s [] -j DROP
|
Num[i]>8部分是设置阀值,这条shell句子会自动将netstat -an中查到的来自同一ip的超过阀值的连接的列入iptables禁止
将命令中的“本机ip”改成你的服务器的ip地址
一个ip限制30个pop连接:
1
|
iptables -I INPUT -p tcp --syn --dport 110 -m connlimit --connlimit-above 30 -j REJECT
|
将192.168.4.139上的/data0目录同步到本机:
1
|
rsync -avLP -e 'ssh' --delete 192.168.4.139:/data0 / 1>>/opt/out.txt 2>>/opt/err.txt
|
修改目标地址,用于在防火墙后端的web服务器(DNAT):
1
|
iptables -t nat -A PREROUTING -p tcp --dport 80 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:80
|
开启路由(SNAT):
1
2
|
echo "1" > /proc/sys/net/ipv4/ip_forward #开启转发
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE #eth1是公网网卡,使用伪装MASQUERADE
|
或
1
|
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 199.15.116.12 #不使用伪装,修改源地址为公网地址199.15.116.12
|
将公钥传到其他服务器:
1
|
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remoteServer
|
获取本机所有ip及其对应的mac地址:
1
|
ifconfig|grep HWaddr -A 1|awk -v RS="--" '{sub(/addr:/,"",$7); print $7,$5}'
|
-
-v:赋值一个用户定义变量
-
RS:记录分隔符(默认是一个换行符)
-
FS:字段分隔符(默认是任何空格)
-
NF: 当前记录中的字段数
-
NR:当前记录数
-
sub(/addr:/,”",$7):将第7段中的addr:替换成空
查找当前目录下的所有文件,并将文件中的cszhi.com替换成test.cn:
1
|
find . -type f -exec sed -i 's/cszhi\.com/test\.cn/g' {} \;
|
不转义点号也可:
1
|
find . -type f -exec sed -i 's/cszhi.com/test.cn/g' {} \;
|
ssh交互式登陆脚本
1
2
3
4
5
6
7
8
9
|
#!/usr/bin/expect
set timeout 30
spawn ssh 192.168.0.2
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "redhat\r" }
}
expect "]#"
send "df -h > /tmp/diskfile\r"
|
set timeout 30命令把超时时值设定为30秒
spawn命令激活一个Unix程序来进行交互式的运行
send命令向进程发送字符串
同步时间:
1
|
ntpdate -s -b 210.72.145.44 clock.cuhk.edu.hk
|
不断更新中。。。。。。
(责任编辑:IT) |