• 860

[研究所] MikroTik RouterOS 學習 (持續更新)


gfx wrote:
DVR有無連線成功,是無法從connection列表查察,頂多觀察state狀態是否為established
但state=established是否真登入成功?
DVR跟用戶回應登入失敗state也是顯示established...這根本不能當依據啊...(恕刪)


您說的沒錯我試過每打一次錯誤密碼出現time wait,但這也不能已time wait次數當依據.....
但我手邊有台NVR只要有人打錯1次密碼就會寄給管理者告知,打錯3次就drop 1天除非管理者解除,
我覺得這功能很不錯怎沒應用在ros上??


另外想請問一個問題,我把scanners script放在排程定時回報一開始會先寄一封ip跟連線數空白的email,然後address-list內的scanners時間結束又會再寄一封ip跟連線數空白email,這是什麼原因呢?有解嗎?
sppule wrote:
您說的沒錯我試過每...(恕刪)
我大概了解您的情形.

原因script是讀取list目前adddress記錄與存在記憶體的上次做比對.
不管是增加或減少都寄mail通知...

您的狀況應是您設抓src-address到list裡,但設定的timeout時間極短,
address很快因時間讀完自動消失~

script在排程下計數,發現現存address數量相較上次變少了(不只變少,且完全清空).
也因list裡是空的,所以寄空的mail通知

所以script修正方向即:list內的address數量必需大於0,才能行mail通知.
:global scanners
:local scanner [/ip firewall address-list find list=scanners]

:if ($scanner!=$scanners) do={
:local conns
:foreach i in=[/ip firewall connection find] do={
:do {:set conns "$conns,$[/ip firewall connection get $i src-address]"} on-error={}
}
:set conns [:toarray [:pick $conns 1 [:len $conns]]]

:local content
:set scanners $scanner
:foreach i in=$scanners do={
:local count 0
:local addr [/ip firewall address-list get $i address]
:foreach conn in=$conns do={:if ($conn~$addr) do={:set count ($count+1)}}
:set content "$content\n\r$addr => $count"
}

:local date [/system clock get date]
:local mm [:find 0,jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $date 0 3]]
:if ($mm<10) do={:set mm "0$mm"}
:set date "$mm$[:pick $date 3 11]"

:if ([:len $scanners]>0) do={
/tool e-mail send to=74.125.129.108 port=587 start-tls=yes \
subject="Scanner number of connections at $[/system clock get time] $date" \
body="Scanner number of connections :$content"}
}

gfx wrote:
我大概了解您的情形...(恕刪)


我終於搞定了雖然搞了一天還一直鬼打牆怎沒寄信出來??後來發現您應該是打太快把a打成n了導致沒發信出來....哈哈

感謝各位大大撥空回覆幫我解決問題..
sppule wrote:
我終於搞定了雖然搞...(恕刪)
我犯了低級錯誤,您火眼睛晴也能抓的出來,不簡單

gfx wrote:
我犯了低級錯誤,您...(恕刪)


別這樣說你真的很厲害可以馬上想到如何寫script,怎練的???
最後可容小弟問一下..
如果要抓同一個IP持續時間20分鐘內連線數在300筆以上(類似主機中毒狀況),而不是開很多網頁瞬間跳出來的那一筆address-list,該如何寫呢??
sppule wrote:
別這樣說你真的很厲...(恕刪)
這無需使用script ,rule可以辦得到.



32是遮罩表示法,意指某1台電腦 或某1個限定ip.

即某1台電腦或ip ,對本地區網連線已達300筆時,接下來安排action動作該是?


gfx wrote:
這無需使用script...(恕刪)


沒錯!!!我前面就是這樣做,但我沒想到把80,443排除就好(沒想到中毒電腦是不會一直去開網頁),卻自己一直在想第2個條件該如何觸發加到address-list在那裏打轉....哈

out.interface我沒設但是我是加在Dsp.port ! 80,443 ,不是目的除了80和443port以外嗎??為什麼您是設定來源呢??
‍‍‍‍‍
人品是做人最好的底牌.
sppule wrote:
沒錯!!!我前面就...(恕刪)
您來源(src)與目的(dst)沒弄清

http/https是連接目地端dst-port:80,443
連接網際網路:若您當來源(src),目的當然是網際網路dst-port:80,443

但從網際網路端思考,以網際網路端自己當來源(src):
是網際網路從src-port:80,443 將資料上傳給您(dst)使用.

這不難懂,換個立場思考就明白了!

若網際網路端當來源(src),去連接您dst-port:80,443
這不就代表網際網路去連接您的http/https網站,這意義和上面差別很大,整個相反!
gfx wrote:
您來源(src)與...(恕刪)


您說對了我沒定義out跟in所以會判定只要目的跟來源都會有流量,又加上我一直看connections...
天啊!!我犯比你更第低級的錯誤@@.....


如同您上面設定如果使用add src to address list 就會得到被攻擊ip在Address Lists而不是內部ip??
我把連DVR當作目標連線數量調下來做測試發現的,還是我哪裡設定錯誤??

  • 860
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 860)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?