在我的運(yùn)維生涯里,出現(xiàn)最普遍的問(wèn)題就是網(wǎng)站訪問(wèn)慢甚至訪問(wèn)不到,到服務(wù)器上查看后得出的結(jié)論是,這個(gè)網(wǎng)站被CC攻擊了。有的朋友可能不知道什么叫CC攻擊,在這里我簡(jiǎn)單介紹一下。CC攻擊屬于DDos攻擊的一種,攻擊者會(huì)利用大量“肉雞”對(duì)攻擊目標(biāo)網(wǎng)站發(fā)起請(qǐng)求,并且頻率很快,這樣會(huì)導(dǎo)致目標(biāo)網(wǎng)站的服務(wù)器承受不住而癱瘓。
CC攻擊雖然看起來(lái)跟正常的訪問(wèn)幾乎沒(méi)有什么區(qū)別,但如果我們仔細(xì)分析訪問(wèn)日志還是可以找到一些線(xiàn)索,比如某個(gè)IP訪問(wèn)頻次很高,或者某幾個(gè)IP的user_agent是固定的等等特性,有的甚至?xí)ツ7抡?guī)的搜索引擎,比如,把自己偽裝為百度的“蜘蛛爬蟲(chóng)”。當(dāng)遇到CC攻擊時(shí),只要你肯花費(fèi)一些精力來(lái)分析訪問(wèn)日志,終究是可以找出發(fā)起CC攻擊的真兇,然后我們只要封掉它們的IP就萬(wàn)事大吉了。本案例的需求是這樣的:
1)每分鐘分析一次訪問(wèn)日志/data/logs/access_log,日志片段如下:
180.98.113.151 - [19/Sep/201830:07 +0800] "/uc_server/avatar.php?uid=1145811&size=middle" 301 "GET HTTP/1.1" "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13D15 MAGAPPX|4.1.2-4.1.0-41|iPhone OS 9.2.1 iPhone 6|wenyou|C6C25422-279C-4337-8E10-F588D577B9D7|da97ede5be797f79b96d6761bf858632|426ef86c3fc2359dc90468f7bdd0f5e9|c64f2225ec641231cd612bbe08f2b40d"
61.227.224.229 - [19/Sep/201830:07 +0800] "/misc.php?mod=ranklist&type=member&view=post" 200 "GET HTTP/1.1" "http://www.wenyou.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"
183.207.95.145 [19/Sep/201830:07 +0800] "/uc_server/avatar.php?uid=1323875&size=middle" 301 "GET HTTP/1.1" "http://app.yikaidai.com/mag/circle/v1/forum/threadViewPage?tid=3446714&circle_id=&themecolor=1aadfa" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_3 like Mac OS X) AppleWebKit/604.1.38 "
114.230.251.50 - [19/Sep/201830:07 +0800] "/core/attachment/attachment/img?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg" 302 "GET HTTP/1.1" "https://app.yikai.com/mag/info/v1/info/infoView?id=55855&themecolor=1aadfa" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) "
61.227.224.229 - [19/Sep/201830:07 +0800] "/misc.php?mod=ranklist&type=member&view=onlinetime" 200 "GET HTTP/1.1" "http://www.wenyou.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"
2)把訪問(wèn)量高于100的IP給封掉3)封過(guò)的IP都要記錄到一個(gè)日志中4)每隔30分鐘檢查一次被封的IP,把沒(méi)有訪問(wèn)量或者訪問(wèn)量很少的IP解封5)解封的IP記錄到另外一個(gè)日志中知識(shí)點(diǎn)一:awk用法在shell腳本中,awk出現(xiàn)概率是極高的,因?yàn)樗谔幚碜址嫌泻軓?qiáng)的能力。先來(lái)看一個(gè)小例子:
# awk -F ':' '$3>500 {print $1,$3}' /etc/passwd
999
polkitd 998
chrony 997
user1 1000
說(shuō)明:awk最核心的功能是分段,可以用-F選項(xiàng)指定一個(gè)分隔符,然后針對(duì)某一段字符進(jìn)行處理,本例中用':'作為分隔符,去找第3段大于500的行,然后把第1段和第3段打印出來(lái)。在awk中可以使用>, <, >=, <=, ==, !=等邏輯判斷的符號(hào),這和shell是有差異的。本例中>后面的500一定不要加雙引號(hào),否則它就不以數(shù)字作為比較對(duì)象了,而是把500當(dāng)成是字符串,結(jié)果自然就不一樣了。如下:
# awk -F ':' '$3>"500" {print $1,$3}' /etc/passwd
shutdown 6
halt 7
mail 8
nobody 99
999
dbus 81
polkitd 998
tss 59
postfix 89
sshd 74
chrony 997
awk的功能不止于此,它實(shí)際上跟shell一樣屬于一門(mén)腳本語(yǔ)言,可以寫(xiě)腳本。它的作者設(shè)計(jì)它的初衷是為了去格式化輸出文本,它可以滿(mǎn)足各種復(fù)雜的格式需求,不過(guò)我們平時(shí)寫(xiě)shell腳本時(shí),僅僅把它作為一個(gè)命令來(lái)處理字符串,下面我列幾個(gè)常見(jiàn)的用法(以下所有演示文件都使用1.txt)。1)截取指定段
':|#' '{print $2}' 1.txt awk -F
說(shuō)明:分隔符可以是一個(gè)正則表達(dá)式,本例中的分隔符可以是':'也可以是'#'。2)匹配字符后字符串
':' '$1 ~ "abc"' 1.txt awk -F
說(shuō)明:過(guò)濾出第一段包含abc的行,其中這里的abc可以是一個(gè)正則表達(dá)式,例如:
':' '$1 ~ "^ro+"' 1.txt awk -F
說(shuō)明:^表示開(kāi)頭,+表示+前面的字符至少有1個(gè),所以"^ro+"可以匹配的字符串有:ro, roo, rooo...3)多個(gè)語(yǔ)句同時(shí)使用
':' '$1 ~ "root" {print $1,$3}; $3>100 {print $1,$2}' 1.txt awk -F
4)多個(gè)條件
'$3<100 && $7 ~ "bash" {print $0}' 1.txt awk
說(shuō)明:如果不指定分隔符,則以空白字符作為分割符,在awk中可以用&&表示并且,用||表示或者。$0會(huì)輸出整行。5)內(nèi)置變量
':' '{print NF,NR}' 1.txt awk -F
說(shuō)明:NF為段數(shù),NR為行數(shù)6)數(shù)學(xué)運(yùn)算
':' '$7=$3+$4 {print $0}' 1.txt awk -F
因?yàn)?7的值被重新定義了,所以打印$0時(shí),并不會(huì)包含分隔符,當(dāng)然也可以定義分隔符:
':' -v OFS='#' '$7=$3+$4 {print $0}' 1.txt awk -F
說(shuō)明:用-v定義變量,這個(gè)OFS也是一個(gè)內(nèi)置變量,它表示輸出的結(jié)果的分隔符。計(jì)算某一段的總和,這種用法也比較常見(jiàn),例如:
':' '{(tot=tot+$3)}; END {print tot}' 1.txt awk -F
知識(shí)點(diǎn)二:sort排序語(yǔ)法:sort [-t 分隔符] [-kn1,n2] [-nru] 這里的n1 < n2-t 分隔符 :作用跟cut的-d一個(gè)意思-n :使用純數(shù)字排序-r :反向排序-u :去重復(fù)-kn1,n2 :由n1區(qū)間排序到n2區(qū)間,可以只寫(xiě)-kn1,即對(duì)n1字段排序如果sort不加任何選項(xiàng),則從首字符向后,依次按ASCII碼值進(jìn)行比較,最后將他們按升序輸出,如下:
# head -n5 /etc/passwd |sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
-t 后面跟分隔符,-k后面跟數(shù)字,表示對(duì)第幾個(gè)區(qū)域的字符串排序,-n 則表示使用純數(shù)字排序,示例如下:
# head -n5 /etc/passwd |sort -t: -k3 -n
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
-k3,5 表示從第3到第5區(qū)域間的字符串排序,-r表示反向排序,示例如下:
# head -n5 /etc/passwd |sort -t: -k3,5 -r
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
知識(shí)點(diǎn)三:uniq去重復(fù)這個(gè)命令我經(jīng)常用的選項(xiàng)只有一個(gè),-c :統(tǒng)計(jì)重復(fù)的行數(shù),并把行數(shù)寫(xiě)在前面請(qǐng)把下面的內(nèi)容寫(xiě)入testb.txt, 保存。
111
222
111
333
使用uniq 的前提是需要先給文件排序,否則不管用,如下所示:
# uniq testb.txt
111
222
111
333
# sort testb.txt |uniq
111
222
333
以下是-c選項(xiàng)的作用:
# sort testb.txt |uniq -c
2 111
1 222
1 333
知識(shí)點(diǎn)四:用iptables工具封/解封IP在CentOS系統(tǒng)中有一個(gè)叫做netfilter的防火墻,它可以對(duì)進(jìn)入或者即將離開(kāi)網(wǎng)卡的數(shù)據(jù)包進(jìn)行處理。最常見(jiàn)的用法就封IP,即限制某些IP或者某些IP的某個(gè)port的數(shù)據(jù)包進(jìn)入Linux系統(tǒng)。很多人把iptables叫做防火墻,其實(shí)不然,iptables是CentOS6系統(tǒng)里的一個(gè)服務(wù),當(dāng)然它也是一個(gè)命令,而在CentOS7系統(tǒng)里也有iptables命令,服務(wù)名不再是iptables,而是firewalld。1)查看filter表的iptables規(guī)則
# iptables -nvL -t filter
說(shuō)明:在CentOS7上netfilter有5個(gè)表,分別是:filter、nat、mangle、raw、secuirty。而我們用的比較多的是前兩個(gè),本案例中的封ip用的就是filter表。該命令中的-t filter可以省略,默認(rèn)就是filter表。2)增加規(guī)則
# iptables -A INPUT -p tcp --dport 80 -s 1.1.1.1 -j DROP
說(shuō)明:-A表示增加規(guī)則,INPUT為filter表里的一個(gè)鏈,除此之外,filter表還有OUTPUT鏈和FORWARD鏈。這里我引用網(wǎng)上的一張圖片幫助大家理解netfilter的表和鏈。數(shù)據(jù)包的流向是這樣的:a. 當(dāng)一個(gè)數(shù)據(jù)進(jìn)入網(wǎng)卡時(shí),他首先進(jìn)入PREOUTING鏈(數(shù)據(jù)包進(jìn)入路由之前),然后判斷目標(biāo)IP是否本機(jī)。b. 如果數(shù)據(jù)包是進(jìn)入本機(jī)的,他會(huì)到達(dá)INPUT鏈(通過(guò)路由表后目的地為本機(jī)),數(shù)據(jù)包到達(dá)INPUT鏈后進(jìn)入本機(jī)內(nèi)核,然后內(nèi)核進(jìn)行處理,處理完到OUTPUT鏈(由本機(jī)產(chǎn)生,向外轉(zhuǎn)變),最后到POSTROUTING(發(fā)送到網(wǎng)卡接口之前)。c. 如果不是進(jìn)入本機(jī)的,他會(huì)到FORWARDING鏈(通過(guò)路由表后,目的地不為本機(jī))最后POSTROUTING鏈(發(fā)送到網(wǎng)卡接口之前)。搞清楚了數(shù)據(jù)包流向就很容易理解INPUT、OUTPUT鏈的作用了,其實(shí)我們更關(guān)心的是INPUT和OUTPUT鏈,而其他幾個(gè)鏈可以先不用理會(huì)。用INPUT控制進(jìn)入本機(jī)的數(shù)據(jù)包,而用OUTPUT控制出去的數(shù)據(jù)包,這兩個(gè)幾乎可以滿(mǎn)足我們絕大多數(shù)的運(yùn)維場(chǎng)景了。-A選項(xiàng)是增加一條規(guī)則,更準(zhǔn)確地說(shuō)是追加一條規(guī)則,因?yàn)閕ptables的規(guī)則是分前后的,用iptables -nvL查看規(guī)則時(shí),越靠上的規(guī)則就越先生效,也就是說(shuō)優(yōu)先級(jí)越高。所以,使用-A追加的規(guī)則只能排在最后面,但如果想增加一條優(yōu)先級(jí)最高的規(guī)則怎么辦?用-I選項(xiàng)(插入規(guī)則的意思)即可,示例命令如下:
# iptables -I INPUT -p tcp --dport 80 -s 2.2.2.2 -j DROP
也可以不針對(duì)端口,只寫(xiě)IP,同時(shí)也可以指定目標(biāo)IP地址,如下:
# iptables -I INPUT -s 3.3.3.3 -d 4.4.4.4 -j DROP
刪除規(guī)則有兩個(gè)方法,一是全部清空,另外一個(gè)就是刪除一條:
# iptables -t filter -F
刪除一條規(guī)則,比較麻煩,因?yàn)槟阈枰浀卯?dāng)時(shí)創(chuàng)建這條規(guī)則的命令,把-I或者-A換成-D即可,如下:
# iptables -D INPUT -s 3.3.3.3 -d 4.4.4.4 -j DROP
當(dāng)然,也有比較簡(jiǎn)單的做法,首先要列出規(guī)則的序號(hào),如下:
最左邊第一列的"num"就是規(guī)則的序號(hào)了,每個(gè)鏈的規(guī)則都是從1開(kāi)始,假如要?jiǎng)h除INPUT鏈的第2條規(guī)則,只需要執(zhí)行:
# iptables -D INPUT 2
這樣就會(huì)把INPUT鏈下的第2條規(guī)則刪除掉。刪除規(guī)則后,重新列出規(guī)則序號(hào),會(huì)發(fā)現(xiàn)序號(hào)依然是從1開(kāi)始。當(dāng)我們執(zhí)行iptables -nvL時(shí),列出的結(jié)果中第一列'pkts'表示被iptables規(guī)則作用的數(shù)據(jù)包個(gè)數(shù),而第二列'bytes'表示被iptables規(guī)則作用的數(shù)據(jù)量大小。這個(gè)數(shù)字會(huì)不斷變化,如果重啟iptables或者firewalld服務(wù)這兩列數(shù)字會(huì)清零,當(dāng)然也有一個(gè)選項(xiàng)可以讓它清零,如下:
# iptables -Z
也可以指定某個(gè)鏈,比如:
# iptables -Z INPUT
以上我介紹的知識(shí)點(diǎn)主要是針對(duì)本案例的,其實(shí)iptables的用法還挺多,限于篇幅暫時(shí)先講這么多吧,后續(xù)案例中有涉及到咱們?cè)俳徊綄W(xué)習(xí)。知識(shí)點(diǎn)五:shell腳本中的函數(shù)在shell腳本中如果某一段代碼出現(xiàn)1次以上,應(yīng)該把這段代碼封裝到一個(gè)函數(shù)里,這樣后續(xù)調(diào)用它會(huì)很方便,而且代碼看起來(lái)也非常美觀。下面我用一個(gè)實(shí)際的例子來(lái)說(shuō)明函數(shù)的好處。需求是,檢查系統(tǒng)中是否安裝vim-enhanced、expect、wget包,如果沒(méi)有安裝則安裝一下,傳統(tǒng)的shell代碼是這樣寫(xiě)的:
if ! rpm -q vim-enhanced &>/dev/null //說(shuō)明,在shell中可以把一條命令作為if的判斷條件,命令前面加!表示取反
then
yum install -y vim-enhanced
fi
if ! rpm -q expect &>/dev/null
then
yum install -y expect
fi
if ! rpm -q wget &>/dev/null
then
yum install -y wget
fi
試問(wèn),如果讓你去檢查100個(gè)包,難道你要寫(xiě)100遍這段代碼嗎?用函數(shù)就簡(jiǎn)潔多了,如下:
## 定義if_install函數(shù)
if_install() {
if ! rpm -q $1 &>/dev/null
then
yum install -y $1
fi
}
## 用for循環(huán)把所有rpm包逐一檢查一遍
for pkg in vim-enhanced expect wget
do
if_install $pkg
done
知識(shí)點(diǎn)六:sed用法sed和grep、awk一樣頻繁地出現(xiàn)在shell腳本中,它們?nèi)齻€(gè)經(jīng)常被叫做“正則三劍客”,可見(jiàn)這三個(gè)工具和正則表達(dá)式之間的關(guān)系非同一般。對(duì)于sed工具的用法,我列幾個(gè)常見(jiàn)的。1)打印指定行
sed -n '10p' 1.txt
說(shuō)明:10指的是行號(hào),p表示print(打?。由?n后只顯示第10行,否則會(huì)把1.txt所有行都顯示出來(lái),這里的單引號(hào)是我的習(xí)慣,你可以不加也可以加雙引號(hào)。另外,可以指定多行,示例命令如下:
sed -n '1,5p' 1.txt
說(shuō)明:打印1到5行,如果是不連續(xù)的行,可以這樣:
sed -n '1p;5p' 1.txt
sed也有和grep類(lèi)似的過(guò)濾指定行的功能,如下:
sed -n '/abc/p' 1.txt
說(shuō)明://為一個(gè)固定寫(xiě)法,里面就是要匹配的字符串,可以是正則,例如:
sed -n '/[a-z0-9]/p' 1.txt
在正則表達(dá)式中,有幾個(gè)特殊符號(hào)屬于擴(kuò)展正則范疇,它們是+, ?, |, (), {}。在grep中要使用它們需要加上-E選項(xiàng),而在sed中要使用它們,需要加上-r選項(xiàng),比如:
sed -nr '/abc|123/p' 1.txt
2)刪除指定行
sed '10d' 1.txt
說(shuō)明:會(huì)刪除第10行,但并不會(huì)真正操作1.txt內(nèi)容,而是屏幕上顯示的內(nèi)容少了第10行,要想直接在文件內(nèi)生效,可以加上-i選項(xiàng),如下:
sed -i '10d' 1.txt
刪除包含'abc'或者'linux'字符串的行
sed -ir '/abc|linux/d' 1.txt
3)查找替換把1.txt中的出現(xiàn)的全部'aming'替換為'linux'
sed 's/aming/linux/g' 1.txt
說(shuō)明:這里的s表示替換,g表示全局替換,如果不加g則只替換每行中出現(xiàn)的第一個(gè)'aming'。本案例參考腳本如下是我寫(xiě)的參考腳本,請(qǐng)過(guò)目:
## 把訪問(wèn)量比較大的IP封掉,如果30分鐘內(nèi)被封的IP沒(méi)有請(qǐng)求或者請(qǐng)求很少,需要解封
## 作者:阿銘
## 日期:2022-07-20
## 版本:v1.1
#定義1分鐘以前的時(shí)間,用于過(guò)濾1分鐘以前的日志
t1=`date -d "-1 min" +%Y:%H:%M`
log=/data/logs/access_log
block_ip()
{
egrep "$t1:[0-5]+" $log > /tmp/tmp_last_min.log
#把1分鐘內(nèi)訪問(wèn)量高于100的ip記錄到一個(gè)臨時(shí)文件中
awk '{print $1}' /tmp/tmp_last_min.log |sort -n |uniq -c|sort -n |awk '$1>100 {print $2}' > /tmp/bad_ip.list
#計(jì)算ip的數(shù)量
n=`wc -l /tmp/bad_ip.list|awk '{print $1}'`
#當(dāng)ip數(shù)大于0時(shí),才會(huì)用iptables封掉它
if [ $n -ne 0 ]
then
for ip in `cat /tmp/bad_ip.list`
do
iptables -I INPUT -s $ip -j REJECT
done
#將這些被封的IP記錄到日志里
echo "`date` 封掉的IP有:" >> /tmp/block_ip.log
cat /tmp/bad_ip.list >> /tmp/block_ip.log
fi
}
unblock_ip()
{
#首先將包個(gè)數(shù)小于5的ip記錄到一個(gè)臨時(shí)文件里,把它們標(biāo)記為白名單IP
iptables -nvL INPUT|sed '1d' |awk '$1<5 {print $8}' > /tmp/good_ip.list
n=`wc -l /tmp/good_ip.list|awk '{print $1}'`
if [ $n -ne 0 ]
then
for ip in `cat /tmp/good_ip.list`
do
iptables -D INPUT -s $ip -j REJECT
done
echo "`date` 解封的IP有:" >> /tmp/unblock_ip.log
cat /tmp/good_ip.list >> /tmp/unblock_ip.log
fi
#當(dāng)解封完白名單IP后,將計(jì)數(shù)器清零,進(jìn)入下一個(gè)計(jì)數(shù)周期
iptables -Z
}
#取當(dāng)前時(shí)間的分鐘數(shù)
t=`date +%M`
#當(dāng)分鐘數(shù)為00或者30時(shí)(即每隔30分鐘),執(zhí)行解封IP的函數(shù),其他時(shí)間只執(zhí)行封IP的函數(shù)
if [ $t == "00" ] || [ $t == "30" ]
then
unblock_ip
block_ip
else
block_ip
fi
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
日志
+關(guān)注
關(guān)注
0文章
138瀏覽量
10651 -
Shell
+關(guān)注
關(guān)注
1文章
366瀏覽量
23403 -
腳本
+關(guān)注
關(guān)注
1文章
390瀏覽量
14883
原文標(biāo)題:遇到CC攻擊你會(huì)怎么做?
文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
云服務(wù)器怎么做負(fù)載均衡?
云 服務(wù)器怎么做負(fù)載均衡 ? 云服務(wù)器的負(fù)載均衡通過(guò)分配策略、自動(dòng)擴(kuò)展、健康檢查和跨區(qū)域部署四個(gè)核心技術(shù)來(lái)實(shí)現(xiàn)。 分配策略包括輪詢(xún)、權(quán)重分配和最少連接數(shù),確保流量均勻分配。自動(dòng)擴(kuò)展根據(jù)實(shí)時(shí)監(jiān)控動(dòng)態(tài)
PMP10215工作半小時(shí)溫度就高達(dá)127.3度,這樣怎么做實(shí)際應(yīng)用呢?
按照PMP10215 Rev_D Test Results上的說(shuō)法,PMP10215工作半小時(shí)溫度就高達(dá)127.3度,這樣怎么做實(shí)際應(yīng)用呢?這么高的溫度不是會(huì)很快使變壓器老化,不能正常工作了嗎?
發(fā)表于 10-18 06:34
DDoS是什么?遇到后有哪些解決方法?
措施能在遭受攻擊事前進(jìn)行佈署或於事后進(jìn)行防范再次的攻擊呢?本篇就帶各位認(rèn)識(shí)一下常見(jiàn)的DDos攻擊手法,以及遇到攻擊后要如何進(jìn)行防御應(yīng)變。DD
TLV333的零點(diǎn)校準(zhǔn)是怎么做的?
,幅度為2.0V(做成脈沖波是為了節(jié)省電)
2. 如下TLV333的放大電路是否有問(wèn)題?放大倍數(shù)是多少?
3.TLV333的零點(diǎn)校準(zhǔn)是怎么做的?現(xiàn)在我們是通過(guò)差分給到TLV333的,它自己把
發(fā)表于 08-15 07:14
電廠人員定位怎么做?分享電廠人員定位系統(tǒng)解決方案
人員定位技術(shù)廣泛應(yīng)用在各個(gè)行業(yè),對(duì)于電廠來(lái)說(shuō),人員定位能夠提升電廠人員管理效率,保障電廠員工人身安全。電廠人員定位怎么做呢?我們一起來(lái)看看。 電廠人員定位系統(tǒng)解決方案 基于電廠環(huán)境打造電廠人員定位
請(qǐng)問(wèn)esp32的io口怎么做的ns的延時(shí)控制?
之前用stm32都是自己用NOP();語(yǔ)句拼湊出來(lái)的ns級(jí)延時(shí),esp32是freertos任務(wù)會(huì)切換,想做到ns延時(shí)要怎么做?請(qǐng)大佬指點(diǎn)一下,謝謝!
發(fā)表于 06-21 07:43
高防CDN是如何應(yīng)對(duì)DDoS和CC攻擊的
高防CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))主要通過(guò)分布式的網(wǎng)絡(luò)架構(gòu)來(lái)幫助網(wǎng)站抵御DDoS(分布式拒絕服務(wù))和CC(挑戰(zhàn)碰撞)攻擊。 下面是高防CDN如何應(yīng)對(duì)這些攻擊的詳細(xì)描述: 1. DDoS攻擊防護(hù)
esp32自動(dòng)重連機(jī)制怎么做?
當(dāng)esp32成功連上一個(gè)路由器,這個(gè)時(shí)候斷開(kāi)路由器電源,再上電,這個(gè)esp32自動(dòng)重連機(jī)制怎么做?
發(fā)表于 06-07 07:31
請(qǐng)問(wèn)下使用IDF怎么做用git做版本控制?
請(qǐng)問(wèn)下使用IDF怎么做用git做版本控制?是保存自己應(yīng)用部分的代碼還是整個(gè)SDK都要保存,但是整個(gè)框架都是官方下的,有沒(méi)必要保存,求各位大神告知下你們?cè)趺刺幚淼摹?/div>
發(fā)表于 06-06 07:15
變壓器CE認(rèn)證怎么做
變壓器CE認(rèn)證需要進(jìn)行的是歐盟EMC指令,由于需要了解是否使用與低電壓指令需要對(duì)變壓器的電壓進(jìn)行了解,一般而言是不適用于低電壓指令。變壓器CE認(rèn)證怎么做?需要對(duì)變壓器CE認(rèn)證的產(chǎn)品進(jìn)行評(píng)估,進(jìn)行指令
三維可視化是怎么做的?特點(diǎn)有哪些?
三維可視化深入我們的生活當(dāng)中,它能直觀并且精準(zhǔn)的展示企業(yè)的場(chǎng)景情況,但是很多小伙伴并不清楚三維可視化是怎么做的?特點(diǎn)有哪些?今天,古河云科技小編就來(lái)給大家聊一聊這一問(wèn)題。 三維可視化在企業(yè)、事業(yè)單位
pcb板阻抗控制是指什么?pcb怎么做阻抗?
pcb板阻抗控制是指什么?pcb怎么做阻抗? PCB板阻抗控制是指在PCB(印刷電路板)設(shè)計(jì)和制造過(guò)程中,通過(guò)優(yōu)化電氣特性和信號(hào)完整性,確保設(shè)計(jì)滿(mǎn)足特定的阻抗要求。在高速數(shù)字和模擬電路中,阻抗控制
能否使用普通IO口模擬PWM波?該怎么做?
能否使用普通IO口模擬PWM波?該怎么做? 使用普通IO口模擬PWM波是一種常見(jiàn)的嵌入式系統(tǒng)應(yīng)用技術(shù),它通過(guò)控制GPIO(通用輸入輸出)口的電平,實(shí)現(xiàn)對(duì)外設(shè)的模擬PWM(脈寬調(diào)制)波的模擬。在本文
評(píng)論