Microsoft Network Monitor
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)平邑,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
這是微軟提供的網(wǎng)絡(luò)抓包工具
雖然它是微軟提供的,但所有的協(xié)議parser解析代碼全部都是開源的,采用其支持的特有腳本語言編寫,易理解、易擴展;
它自帶協(xié)議parser比較全面,同時有一個開源社區(qū)提供持續(xù)支持;
另外,它也提供API幫助我們開發(fā)自己的網(wǎng)絡(luò)抓包、協(xié)議分析工具。
針對TDS協(xié)議解析需求:
Network Monitor自帶TDS協(xié)議解析器和UI比較友好
Network Monitor自帶TDS協(xié)議解析器在解析和結(jié)果展示方面更全面,以下是一個畫面片段,顯示了一個SQL Batch包。
先了解一下SQLSERVER的加密階段
一共有兩個階段
在認證階段,SQLSERVER會使用自生成的自簽名證書,加密客戶端發(fā)過來的登陸用戶名和密碼
在數(shù)據(jù)傳輸階段,如果不使用證書,那么數(shù)據(jù)是使用明文在網(wǎng)絡(luò)上進行傳送的
大家可以看一下這篇文章:
SQL Server 連接加密 (1) -- SQL Server connection encyption
網(wǎng)上有很多制作證書的教程,但是制作證書都比較麻煩,客戶端和服務(wù)器端都要弄很多東西。
詳細制作證書的過程可以參考園子里的這篇文章:
在SQL Server 2005 中開啟SSL(圖文結(jié)合)
當然這篇文章不是講解這個network monitor抓包工具的,所以輕輕帶過就算了
那么,不制作證書怎么加密傳輸?shù)臄?shù)據(jù)?。????
答案就是:同樣使用在認證階段的自生成的自簽名證書
詳細步驟:
步驟1:在SQLSERVER服務(wù)器端這邊設(shè)置強行加密
步驟2:重啟SQLSERVER,只有重啟SQLSERVER設(shè)置才能生效
步驟3:打開network monitor,新建一個capture
步驟4:啟動capture,開始捕獲
步驟5:在客戶端這邊連上服務(wù)器端的SQLSERVER,然后你會在network monitor里的看到SSMS這個進程已經(jīng)出現(xiàn)在Network Conversations窗口
步驟6:選中他,你會在Frame Summary窗口看到幀信息
步驟7:如果你在服務(wù)器端開啟了“強行加密”,那么收到的數(shù)據(jù)包都會是加密的
大家在Protocol Name這一欄看到的是TLS協(xié)議,而不會是TDS協(xié)議
步驟8:查看幀數(shù)據(jù)
步驟9:如果沒有加密的明文數(shù)據(jù),network monitor就能夠查看出來,并且Protocol Name這一欄顯示的是TDS協(xié)議,因為數(shù)據(jù)包并沒有使用TLS協(xié)議進行封裝
TIPS:當關(guān)閉了SSMS的查詢窗口之后,連接還是存在的
很多人會問,關(guān)閉了連接,怎么連接還存在,客戶端為什么還會跟服務(wù)器端進行通信?????
實際上,這個是客戶端的連接池機制,客戶端不斷發(fā)送keep alive數(shù)據(jù)包給服務(wù)器,下次有同樣的連接進行重用了,不需要再進行三次握手o(∩_∩)o
總結(jié)
本人介紹了不使用制作證書的方式來對傳輸?shù)臄?shù)據(jù)進行加密的方法,實際上設(shè)置客戶端而不設(shè)置服務(wù)器端也是可以的
不過設(shè)置客戶端比較麻煩,還需要在連接字符串里加上encrypt屬性設(shè)置為Yes
設(shè)置服務(wù)器端和設(shè)置客戶端的加密的區(qū)別
服務(wù)器端:所有的連接都是加密的
客戶端:只是設(shè)置了加密的那個連接是加密的,其他沒有設(shè)置加密的連接依然是明文傳輸數(shù)據(jù)
當然,使用SQLSERVER自生成的證書安全性是不及自己制作的證書的安全性高?。?/p>
相關(guān)連接:
加密與 SQL Server 的連接
使用自簽名證書加密的 SSL 連接不提供強安全性。它們?nèi)菀自趥鬏斨型臼艿焦簟T谏a(chǎn)環(huán)境中或在連接到 Internet 的服務(wù)器上,不應(yīng)依賴使用自簽名證書的 SSL。
始終要對客戶端應(yīng)用程序與 SQL Server
連接時傳輸?shù)膽{據(jù)(在登錄數(shù)據(jù)包中)進行加密。SQL Server
將使用可信證書頒發(fā)機構(gòu)頒發(fā)的證書(如果可用)。如果未安裝可信證書,則在啟動實例時 SQL Server
將生成自簽名證書,并使用自簽名證書對憑據(jù)進行加密。自簽名證書有助于提高安全性,但它不提供針對通過服務(wù)器進行的身份欺騙的保護。如果使用自簽名證書,
并且 ForceEncryption 選項的值設(shè)置為“是”,則將使用自簽名證書對通過網(wǎng)絡(luò)在 SQL Server
和客戶端應(yīng)用程序之間傳輸?shù)乃袛?shù)據(jù)進行加密
定期備份SQL數(shù)據(jù)庫是必須的。?我們已經(jīng)覆蓋的方式就可以輕松備份您的所有SQL Server數(shù)據(jù)庫到本地硬盤中,但這并不能防止驅(qū)動器和/或系統(tǒng)故障。?作為針對此類災(zāi)難的額外保護層,您可以在網(wǎng)絡(luò)共享上復(fù)制或直接創(chuàng)建備份。
在本地備份,然后復(fù)制到網(wǎng)絡(luò)共享
完成此任務(wù)的首選和最直接的方法是簡單地創(chuàng)建數(shù)據(jù)庫的本地備份,然后將相應(yīng)的備份文件復(fù)制到網(wǎng)絡(luò)共享。您可以通過創(chuàng)建如下所示的批處理腳本來完成此操作:
SET LocalFolder = C:Program Files Microsoft SQL ServerMSSQL.1MSSQLBackup?
SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=%LocalFolder%MyDB.bak”?
XCopy“%LocalFolder%MyDB.bak”“\ 192.168.16.55BackupDatabases”/ Z / V?
DEL“%LocalFolder%MyDB.bak”
此腳本執(zhí)行以下操作(逐行):
將變量設(shè)置為本地SQL備份目錄。
創(chuàng)建MyDB的SQL備份(使用Windows身份驗證)到本地SQL備份目錄。
將本地備份文件復(fù)制到網(wǎng)絡(luò)共享。
刪除本地備份文件。
同樣,這是首選方法,因為它的工作原理和備份失敗的可能性是最小的,因為備份是在本地磁盤上創(chuàng)建。?但是,如果沒有足夠的磁盤空間來存儲備份文件的本地副本,則此操作將失敗。?在這種情況下,您需要添加額外的磁盤空間或直接備份到網(wǎng)絡(luò)共享。
直接備份到網(wǎng)絡(luò)共享
通常,當您嘗試使用以下命令直接創(chuàng)建備份到網(wǎng)絡(luò)共享時:
SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=\ 192.168.16.55BackupDatabasesMyDB.bak”
你很可能會得到一個錯誤的行:
消息3201,級別16,狀態(tài)1,服務(wù)器JF,行1?
無法打開備份設(shè)備\ 192.168.16.55BackupDatabasesMyDB.bak。?操作系統(tǒng)錯誤5(訪問被拒絕。)。?
消息3013,級別16,狀態(tài)1,服務(wù)器JF,第1行?
BACKUP DATABASE異常終止。
盡管使用Windows身份驗證(-E開關(guān))和Windows帳戶作為通過Windows資源管理器訪問和復(fù)制文件到共享的能力運行SQL備份命令,仍會出現(xiàn)此錯誤。
此操作失敗的原因是SQL命令在SQL Server服務(wù)運行的帳戶的邊界內(nèi)執(zhí)行。?當您在計算機上查看服務(wù)列表時,很可能您將看到運行為(登錄為)列的SQL Server服務(wù)本地系統(tǒng)或網(wǎng)絡(luò)服務(wù),它們是沒有網(wǎng)絡(luò)訪問權(quán)限的系統(tǒng)帳戶。
在我們的系統(tǒng)上,網(wǎng)絡(luò)共享命令的備份失敗,因為我們有SQL Server服務(wù)作為本地系統(tǒng)運行,再也無法獲得任何網(wǎng)絡(luò)資源。
為了允許SQL直接備份到網(wǎng)絡(luò)共享,我們必須將SQL Server服務(wù)作為可訪問網(wǎng)絡(luò)資源的本地帳戶運行。
編輯SQL Server服務(wù)的屬性,并在“登錄”選項卡上將服務(wù)配置為作為具有網(wǎng)絡(luò)訪問權(quán)限的備用帳戶運行。
單擊“確定”后,您將收到一條提示,指示在重新啟動服務(wù)之后,設(shè)置才會生效。
重新啟動服務(wù)。
服務(wù)列表現(xiàn)在應(yīng)顯示SQL Server服務(wù)正在作為您配置的帳戶運行。
現(xiàn)在當您運行命令直接備份到網(wǎng)絡(luò)共享:
SqlCmd -E -Q“備份數(shù)據(jù)庫MyDB到磁盤=\ 192.168.16.55BackupDatabasesMyDB.bak”
您應(yīng)該會看到一個成功消息:
處理數(shù)據(jù)庫MyDB的152頁,文件1上的文件MyDB。?
為數(shù)據(jù)庫MyDB處理2頁,文件1上的文件MyDB_log。?
BACKUP DATABASE在0.503秒(2.493 MB /秒)中成功處理了154頁。
使用備份文件現(xiàn)在在網(wǎng)絡(luò)共享目錄:
網(wǎng)絡(luò)共享注意事項請務(wù)必注意,備份命令希望能夠直接連接到網(wǎng)絡(luò)共享,而不會提示您輸入憑據(jù)。?您配置要運行的SQL Server服務(wù)的帳戶必須與網(wǎng)絡(luò)共享具有可信連接,其中相應(yīng)的憑據(jù)允許訪問,否則可能會發(fā)生以下錯誤:
消息3201,級別16,狀態(tài)1,服務(wù)器JF,行1?
無法打開備份設(shè)備\ 192.168.16.55BackupDatabasesMyDB.bak。?操作系統(tǒng)錯誤1326(登錄失敗:未知用戶名或密碼錯誤。)。?
消息3013,級別16,狀態(tài)1,服務(wù)器JF,第1行?
BACKUP DATABASE異常終止。
此錯誤表示網(wǎng)絡(luò)共享不接受帳戶的用戶名和密碼,并且命令失敗。
另一個要記住的問題是備份直接執(zhí)行到網(wǎng)絡(luò)資源,因此網(wǎng)絡(luò)連接中的任何打嗝可能會導(dǎo)致您的備份失敗。?因此,您只應(yīng)該備份到穩(wěn)定的網(wǎng)絡(luò)位置(即可能不是VPN)。
安全隱患
如前所述,使用在本地備份然后復(fù)制到網(wǎng)絡(luò)共享的方法是首選,因為它允許您將SQL服務(wù)作為僅具有本地系統(tǒng)訪問權(quán)限的帳戶運行。
通過將服務(wù)作為備用帳戶運行,您打開了潛在的安全問題的大門。?例如,惡意SQL腳本可以在備用帳戶下執(zhí)行并攻擊網(wǎng)絡(luò)資源。?此外,對相應(yīng)帳戶(密碼更改/到期或帳戶的刪除/禁用)的任何更改將導(dǎo)致SQL Server服務(wù)無法啟動。
如果您使用備用帳戶運行SQL Server實例,請務(wù)必記住這些要點。?如果采取適當?shù)念A(yù)防措施,則這些不顯示阻止程序,則應(yīng)考慮添加額外的硬盤驅(qū)動器空間,然后實施本地備份和復(fù)制,以便可以使用本地帳戶運行SQL服務(wù)。
打開要導(dǎo)出的憑證點擊輸出--輸出
然后選擇文件名及保存類型
選擇類型的時候從后面的備選項中選擇
microsoft.excel
97
(*.xls)
或者是excel的其他版本
點擊保存就行了
保存后的文件需要調(diào)整行列
數(shù)據(jù)屬性等
調(diào)成你想要的格式就行了
你這個不是什么大問題。。。只是你輸入的密碼錯誤。。。?。?/p>
錯誤提示是說SQL
Server代理的密碼以及Analysis
Services的密碼輸入錯誤,
對于上面的4項賬戶和密碼我建議你使用“對所有的SQLServer服務(wù)使用相同的賬戶”,選擇你的系統(tǒng)登錄用戶并設(shè)置你的密碼。
下面的幾項服務(wù)的賬戶和密碼我安裝的時候也是采用系統(tǒng)的賬戶和密碼的。LZ你可以按照我的要求修改下。我以前也是遇到和你相同的問題,我就是這樣解決的,你現(xiàn)在還好是中文版,容易看懂錯誤信息,我的是英文版的,藐視不太懂。。。
SQL
Server
身份驗證只能在無法進行
Windows
身份驗證時使用。有關(guān)使用
Windows
身份驗證進行連接的信息,請參閱如何使用
Windows
身份驗證進行連接。
在使用
SQL
Server
身份驗證連接到
SQL
Server
時必須考慮以下幾點:
必須對服務(wù)器啟用
SQL
Server
混合模式身份驗證。
在嘗試建立連接時必須設(shè)置
UID
和PWD
連接屬性。UID
和PWD
必須映射到有效的
SQL
Server
用戶和密碼。
注意:
包含右大括號
(})
的密碼必須使用另一個右大括號進行轉(zhuǎn)義。例如,如果
SQL
Server
密碼為“pass}word”,則
PWD
連接屬性的值必須設(shè)置為“pass}}word”。
在使用
SQL
Server
身份驗證連接到
SQL
Server
時應(yīng)采取以下預(yù)防措施:
保護(加密)通過網(wǎng)絡(luò)從
Web
服務(wù)器傳遞到數(shù)據(jù)庫的憑據(jù)。默認情況下,SQL
Server
2005
和
SQL
Server
2008
將對憑據(jù)進行加密。為了提高安全性,請將“Encrypt”連接屬性設(shè)置為“on”,以便對發(fā)送至服務(wù)器的所有數(shù)據(jù)進行加密。
注意:
將“Encrypt”連接屬性設(shè)置為“on”可能導(dǎo)致性能降低,因為數(shù)據(jù)加密可能是一項計算密集型操作。
在PHP
腳本的純文本部分中不要包含
UID
和PWD
連接屬性的值。這些值應(yīng)存儲在具有相應(yīng)受限權(quán)限的特定應(yīng)用程序目錄中。
避免使用
sa
帳戶。將應(yīng)用程序映射到擁有所需權(quán)限的數(shù)據(jù)庫用戶,并使用強密碼。
注意:
在建立連接時可以設(shè)置除
UID
和PWD
之外的連接屬性。有關(guān)支持的連接屬性的完整列表,請參閱
sqlsrv_connect。
示例
下面的示例使用
SQL
Server
身份驗證連接到
SQL
Server
的本地實例。所需的
UID
和PWD
連接屬性的值是從
C:\AppData
目錄中特定應(yīng)用程序的文本文件
uid.txt
和pwd.txt
中提取的。建立連接之后,將查詢服務(wù)器以驗證用戶登錄名。
此示例假定本地計算機上已安裝了
SQL
Server
和
AdventureWorks
數(shù)據(jù)庫。當從瀏覽器運行此示例時,所有的輸出都將寫入該瀏覽器。
?php
/*
Specify
the
server
and
connection
string
attributes.
*/
$serverName
=
"(local)";
/*
Get
UID
and
PWD
from
application-specific
files.
*/
$uid
=
file_get_contents("C:\AppData\uid.txt");
$pwd
=
file_get_contents("C:\AppData\pwd.txt");
$connectionInfo
=
array(
"UID"=$uid,
"PWD"=$pwd,
"Database"="AdventureWorks");
/*
Connect
using
SQL
Server
Authentication.
*/
$conn
=
sqlsrv_connect(
$serverName,
$connectionInfo);
if(
$conn
===
false
)
{
echo
"Unable
to
connect.";
die(
print_r(
sqlsrv_errors(),
true));
}
/*
Query
SQL
Server
for
the
login
of
the
user
accessing
the
database.
*/
$tsql
=
"SELECT
CONVERT(varchar(32),
SUSER_SNAME())";
$stmt
=
sqlsrv_query(
$conn,
$tsql);
if(
$stmt
===
false
)
{
echo
"Error
in
executing
query.";
die(
print_r(
sqlsrv_errors(),
true));
}
/*
Retrieve
and
display
the
results
of
the
query.
*/
$row
=
sqlsrv_fetch_array($stmt);
echo
"User
login:
".$row[0]."";
/*
Free
statement
and
connection
resources.
*/
sqlsrv_free_stmt(
$stmt);
sqlsrv_close(
$conn);
?
點擊中間的(....使用相同的賬戶),然后點擊用戶名選第二個選項,就ok了
文章名稱:sqlserver憑據(jù),sqlserver服務(wù)指定的憑據(jù)無效
標題網(wǎng)址:http://chinadenli.net/article12/phjogc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站導(dǎo)航、定制網(wǎng)站、網(wǎng)站營銷、網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)