2014年11月24日 星期一

初顧 PowerShell - 用 Powershell + .NET 發信

PowerShell 在 Windows 2012R2 後已經是未來 Windows script 的主流,加上許多 IT 的推薦使得我步入我的 powershell script 第一步

 

以往都是使用 batch 或是 bash 來執行 script,這回在 Powershell 發現許多指令可以共通,真的是親民不少,網路上看到許多範例都將 .NET元件加入來進行 script 

 

在此篇也使用 Powershell + .NET 來試寫一個發信的 script
$mail = New-Object System.Net.Mail.MailMessage 
$sender="eric@shazi.twbbs.org"
$recevier="eric@gmail.com"
$server="shazi.twbbs.org"
$body= "This is Test PowerShell Send Mail"
$msg=New-Object System.Net.Mail.MailMessage $sender,$recevier,$server,$body
$client=New-Object System.Net.Mail.SmtpClient $server
$client.send($msg)

 

存成 TestSendMail.ps1,執行發信測試成功!!

2014年11月21日 星期五

CentOS 6.5 背景工作小幫手 screen

最近在幫一台 iscsi 建立 disk img,由於硬碟檔有 500G,在用 dd 建立的時候一直中斷

 

在建立第二次的時候才發現是 ssh bash 中斷了導致在 bash run 的工作都被中斷連接

 

原本以為將 dd 放到 background Running 就不會被中斷,後來在被指點下用 ps axf 看到原來所有的 jobs 都在 bash 底下在 run

 

所以 Logout 就通通切斷啦!!

2014年11月13日 星期四

Media cache Proxy 無法建立 Error code: 0x80004002 【The WMS Cache Proxy plug-in could not cache】

前兩天去客戶端安裝 Media Proxy cache 不管怎麼建都無法把兩邊的 Media 串起來,單獨測試又正常

 

本篇紀錄在 Media Proxy cache 的除錯過程

 

當下測試了以下事項

1. 各別擔任 Media Service 正常

2. DMZ Media 使用 mms / rtsp 讀取 LAN Media 正常,代表防火牆暢通

3. 開啟 Proxy 設定後,於 DMZ Media 無法取得 LAN Media 資料。

2014年11月5日 星期三

Windows 2008R2 建立 Media cache Proxy Server

會建立 Proxy 通常是因為資安因素不希望將 Data 的部分暴露在 internet,此篇將紀錄如何建立 Media cache Proxy Server

 

執行須知

Windows Media Service 僅支援到 Windows Server 2008 R2,在 Windows Server 2012 版本已經把 Media Service 拿掉,全面採用 mp4 來取代串流格式。

Network diagram (1)

2014年11月3日 星期一

iOS 8.0.x ~ 8.1.x 完美越獄 JB 教學 -中國盤古

自從換了 iPhone 6 Plus 之後期待已久終於可以 JB越獄囉!這是是由中國盤古全球首發的越獄

 

原本於 iOS 7.x 發表的盤古越獄讓人備受質疑,但在不受法律限制以及贊助龐大的中國盤古終於在這次成為全球首發的完美越獄。

 

盤古越獄官方網站

http://pangu.io/

 

Cydia 插件相容性

https://docs.zoho.com/sheet/published.do?rid=z1v909ff833ece6824400b4d4095ac3a277ac

2014年11月2日 星期日

用 netstat 監控 connection 數量

  前幾天有某台伺服器出現 Connection 爆量的問題,導致伺服器無法運作,雖然調大 Connection 就能解決問題,但還是必須了解目前系統的用量有多少,避免造成不必要的資源浪費。

 

要查看 Connection 可以用 netstat 來查看目前所有的 Connection,但做為系統管理人員小弟說過要有懶惰的美德,凡事不要自己來,讓系統自動化才是最明確的決定。

 

目標是希望可以定時監控 80 Port 的 Connection 數量

 

撰寫一隻批次檔,用到 Windows 的 netstat ,還有 Linux 的 find 來區隔來源及目的

 

 

範例1;篩選出 TCP 中 192.168.10.99 這張網卡的 80port
netstat -anp tcp | find "192.168.10.99:80" 

C:\Users\Administrator>netstat -anp tcp | find "192.168.10.99:80"
TCP 192.168.10.99:80 192.168.100.1:39082 ESTABLISHED
TCP 192.168.10.99:80 192.168.100.1:39084 ESTABLISHED
TCP 192.168.100.1:39082 192.168.10.99:80 ESTABLISHED
TCP 192.168.100.1:39084 192.168.10.99:80 ESTABLISHED

 

範例2;將 範例1 篩選出的結果計算數量
netstat -anp tcp | find "192.168.10.99:80" /c 

4

 

如果系統是 80 port 出口的話,與 user 端就會有 輸入及輸出兩筆 Connection。

雖然懶人可以用除以2 的方式來算出數量,但心裡還是覺得有出錯的機會。

 

 

 

 

由於找不到 Windows 的篩選 command ,先用了 Linux 的 cut 加入本機源的判斷。

※要在 Windows 用 Linux 的 command 可以下載 coreutils ,安裝 coreutils 你會需要擁有 libintl3.dlllibiconv2.dll ,請丟到與 cut.exe 相同目錄下。

 

建立 ConnectionMonitor.bat 批次檔
set BINPATH=D:\coreutils-5.3.0-bin\bin 
echo | set /p = %date% >> D:\log.txt
netstat -anp tcp | find "192.168.10.99:80" | %BINPATH%\cut -d " " -f 7 | find "192.168.10.99:80" /c >> D:\log.txt

 

所呈現的執行結果會是以下
201410310100 4

 

echo | set /p = %date% 是為了判讀當下執行的時間, set /p 是不希望 echo 有段行

cut -d " " -f 7  是判別到 192.168.10.99:80 之前有 7 格空格,這是比較原始的方法,如果網友有更好的方法也可以提出!

 

最後加入工作排程,並寫入 Log,一段時間後就可以得知 Connection 的狀況囉!!

Orignal From: 用 netstat 監控 connection 數量