1. 如何在Linux下大量屏蔽惡意IP地址
|#!/bin/bash
#dmesg_udp_bad_checksum_from_ip_deny.sh
#failed_password_for_invalid_ip_deny.sh
while [ ture ];
do
#failed_password_for_invalid_ip_deny.sh
DENY_IP=`grep "Failed password" /var/log/secure | sed 's/^.*::ffff://g' | sed 's/port.*$//g'`
for i in $DENY_IP
do
if [ ! -n "`iptables -L -vn |grep $i`" ]; then
iptables -t filter -A INPUT -i eth0 -s $i -j DROP
fi
done
#dmesg_udp_bad_checksum_from_ip_deny.sh
DENY_IP1=`dmesg |grep "UDP: bad checksum." | sed 's/^.*From //g' | sed 's/:.*$//g'`
for j in $DENY_IP1
do
if [ ! -n "`iptables -L -vn |grep $j`" ]; then
iptables -t filter -A INPUT -i eth0 -s $j -j DROP
fi
done
sleep 30s
done
僅供參考
防止外網用內網IP欺騙
[root@test]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
[root@test]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
[root@test]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
2. sed如何把本機的ip地址替換文本
需求說清楚點吧
3. sed 將文本中每行的固定IP替換為特定IP地址,需要怎麼寫 sed 's/X.X.X.X/X.X.X.[1-9]\{1,3\}/g' X.txt
sed 's/\(X\.\)\(X\.\)\(X\.\)X/\1\2\3.1/g' X.txt
4. 怎樣用awk,sed等抽取日誌中的IP
因為不知道你的日誌格式,可以參考:
ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'
5. linux中想在腳本中實現修改一個ip地址參數的配置文件,用sed命令如何實現
sed -i 's/\(IP=\)\S\S*/\1102.117.2.23/' filename
註:
1)將不變的部分放入帶反斜杠的一對括弧 \( \) 中並在替換時用 \1 引用。回
2)\S用於匹配除單個空答格符之外的所有字元。
awk -F"=" '{if($1=="IP")print("IP=102.117.2.23")}' filename > filename.new 2>/dev/null
6. shell 怎麼取出ip地址中的數字
使用sed命令替換即可:
#ip轉換後結果存儲在new_ip
ip="111.111.111.111"
#輸出結果:111111111111
new_ip=`sed 's/.//g' $ip`
7. 關於linux的sed用法。如何替換特殊字元,如IP=192.168.0.1替換成IP=117.112.3.8
sed 's/\(IP=\).*/\1117.112.3.8/g'
. 任意字元
* 任意次數
\1 輸出第一保存
\(\) 第一保存范圍
8. 怎麼用Linux 正則表達式過濾出IP地址
可使來用這個命令:ifconfig |sed -n 's#^源.*r:\(.*\) Bc.*$#\1#gp'
簡單說明一下:
sed 's###g' 這個是基礎表達式 -n 取消默認輸出 ^.*r:表示在r:之前所有內容 \是轉義字元 \( .*\)表示所選內容
Bc.*$表示在Bc之後所有內容 \1 表示前面小括弧裡面的內容 P 表示列印輸出
[root@localhost home]# ifconfig |sed -n 's#^.*r:\(.*\) B.*t:\(.*\) Ma.*$#\1\t\2#gp' 這是同時輸入 IP 和電子掩碼 的命令 。 學腳本編程,來看看 《linux就該這么學》
9. linux下用sed先 搜索含有IPV6INIT的行,然後再修改IPV6INIT=yes為IPV6INIT=no 如何用sed一次性完成
什麼意思?
是將文抄件里的IPV6INIT=yes改為IPV6INIT=no呢,襲
還是找出含有IPV6INIT的行,然後把這些行集中到一個文件里,然後修改?
如果是前者:
sed -i -e 's/IPV6INIT=yes/IPV6INIT=no/' PATH/FILE
10. 正則表達式匹配ip地址並替換
sed不支持d的數字表達,另外要加-r參數: