打印機端口查看方法如下:
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)臨高,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
1、進入“控制面板”-“設(shè)備和打印機”;
2、右鍵需要查看的打印機,選擇“屬性”;
3、選擇”Web服務(wù)“,即可查看IP端口。
USB比較難抓數(shù)據(jù),建議是USB模擬串口,或者直接就是串口,這樣數(shù)據(jù)比較好抓。
USB上傳模式是鼠標光標在哪數(shù)據(jù)就上傳在哪,所以你抓USB的數(shù)據(jù)的很難!
X貓-思刊辦公專營店
計算機網(wǎng)絡(luò)技術(shù)的日益發(fā)展和普及,為信息共享提供了一條全球性的高速通道,但目前采用的TCP/IP協(xié)議族潛在著安全漏洞,其安全機制并不健全,如何保護企業(yè)內(nèi)部網(wǎng)絡(luò)中的資源及信息不受外部攻擊者肆意破壞或盜竊,是企業(yè)網(wǎng)絡(luò)安全需要解決的重要問題。當我們擔心被黑客攻擊或懷疑電腦被植入木馬時,我們往往求助于防火墻,本系統(tǒng)即通過實時監(jiān)控全部TCP連接的方法來實現(xiàn)防黑客攻擊。同時網(wǎng)絡(luò)管理人員在整個網(wǎng)絡(luò)運行期間,能否實時監(jiān)控聯(lián)網(wǎng)計算機的運行狀態(tài)和操作對網(wǎng)絡(luò)安全具有極其重要的作用.下面就以Visual Basic 6.0作為開發(fā)工具講述兩個主要模塊的設(shè)計和實現(xiàn)。
系統(tǒng)概述
該系統(tǒng)由兩個子系統(tǒng)組成:服務(wù)器端系統(tǒng)和客戶端(工作站)系統(tǒng)。服務(wù)器端系統(tǒng)安裝在網(wǎng)絡(luò)管理人員的計算機上,用于實施各種對聯(lián)網(wǎng)計算機的監(jiān)控操作;客戶端系統(tǒng)安裝在每臺聯(lián)網(wǎng)的計算機上,它運行后以圖標的方式出現(xiàn)在系統(tǒng)任務(wù)欄的提示區(qū)中,不影響工作站的其他操作,只用于響應(yīng)服務(wù)器端的監(jiān)控命令,并根據(jù)服務(wù)的需要,及時采樣工作站的相應(yīng)數(shù)據(jù)返回給服務(wù)器端。該系統(tǒng)的運行環(huán)境可以運行于Win98、Win95或WinNT、Win2000下。在系統(tǒng)的開發(fā)中,引入了WINSOCK通訊控件,除此之外,為較好地實現(xiàn)各項監(jiān)控操作,還用到了幾個API函數(shù)。
系統(tǒng)功能
1、監(jiān)控全部TCP連接:實時監(jiān)控所有服務(wù)器端口的連接情況、及時對異常連接發(fā)出警告并提示用戶刪除異常連接;
2、屏幕監(jiān)控:該功能允許服務(wù)器隨時把被監(jiān)控工作站的屏幕畫面抓取到服務(wù)器中,網(wǎng)絡(luò)管理人員對相應(yīng)工作站所進行的操作一目了然,若發(fā)現(xiàn)有非法操作即可采取發(fā)送警告或強制措施,強迫其停止相應(yīng)操作;
3、對工作站進行鎖機、關(guān)機、限制鼠標活動等;
4、服務(wù)器和工作站之間的信息互送。
功能的實現(xiàn)
1、監(jiān)控全部TCP連接
TCP/IP(Transmission Control Protocol/Internet Protocol:傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一個包括TCP、IP、 UDP、ARP、RARP和ICMP等在內(nèi)的網(wǎng)絡(luò)協(xié)議集。TCP/IP經(jīng)常被稱為“將Internet綁定在一起的粘合劑”,它允許在空間上分離的多個信息網(wǎng)絡(luò)連接在一起形成一個巨大的虛擬網(wǎng)絡(luò)。TCP和UDP(用戶數(shù)據(jù)報協(xié)議)是兩個最常用的數(shù)據(jù)傳輸協(xié)議,它們都使用設(shè)置監(jiān)聽端口的方法來完成數(shù)據(jù)傳輸。
在本文中討論TCP連接。通過使用TCP, Internet客戶機可以打開到另一個Internet客戶機的虛擬連接并傳送數(shù)據(jù)流。與UDP不同,TCP協(xié)議通過重傳丟失的數(shù)據(jù)報保證傳輸?shù)目煽啃?。它也保證在接收端的應(yīng)用程序按發(fā)送的順序?qū)⒔邮盏降奈缓妥止?jié)重新組裝起來以獲取完整的數(shù)據(jù)。
要獲得與服務(wù)器系統(tǒng)中全部有效的TCP連接,用到GetTcpTable這個API函數(shù),它定義如下:
Private Declare Function GetTcpTable Lib "iphlpapi.
dll" (ByRef pTcpTable As MIB_TCPTABLE, ByRef
pdwSize As Long, ByVal bOrder As Long) As Long
其中參數(shù)pPcpTable是已生成的 TCP連接表緩沖區(qū)的指針,參數(shù)pdwsize是緩沖區(qū)大小(當緩沖區(qū)不夠大時,該參數(shù)返回實際需要的大小),參數(shù)bOrder指示連接表是否需要按“Local IP”、“Localport”、“Remote IP”、“Remote port”依次進行排序,1為按此順序。
通過一個TIMEER控件的TIMER的事件來比較前后兩個TCP連接表,我們可以立即發(fā)現(xiàn)異常并發(fā)出警告。本系統(tǒng)用聲音和報警標志提醒用戶注意可能的外界入侵。收到警告信號后,我們應(yīng)首先將可疑連接刪除掉,SetTcpEntry函數(shù)可以幫助我們刪除可疑連接。其定義為:
Private Declare Function SetTcpEntry Lib "iphlpapi.
dll" (ByRef pTcpTable As MIB_TCPROW) As Long
其中參數(shù)pTcptable為指向tcp表行的指針。然后將欲刪連接的狀態(tài)置為MIB_TCP_STATE_DELETE_TCB(值為12)即可刪除該連接。
TIMER事件源代碼:
Private Sub Timer1_Timer()
Dim Return1 As Long, i As Long
Dim Tmp1 As Long, Tmp2 As Long
Dim Ip_Buf(1 To 4) As Byte
Dim Win_Path As String, Tmp3 As String
Return1 = GetTcpTable(TCP1, Len(TCP1), 1)
If Last_Num_Of_Entries 0 And _
Last_Num_Of_Entries TCP1.dwNum_Of_Entries Then
'異常時發(fā)出警告
Picture1.Visible = True '警告標志
On Error Resume Next
Win_Path = String(145, 0)
'利用API函數(shù)GetWindowsDirectory獲得當前系統(tǒng)目錄
i = GetWindowsDirectory(Win_Path, 145)
Win_Path = Left(Win_Path, i)
'利用API函數(shù)sndPlaySound發(fā)出報警聲音
i = sndPlaySound(Win_Path + "\Media\Ding.wav", H1)
On Error GoTo 0
Else
If Picture1.Visible = True Then
Picture1.Visible = False
End If
End If
Last_Num_Of_Entries = TCP1.dwNum_Of_Entries
Select Case Return1
Case 0:
Text1 = "": Combo1.Clear
For i = 0 To TCP1.dwNum_Of_Entries - 1
Tmp3 = Str(i + 1) + " "
Select Case TCP1.TCP_Table(i).dwState
' 顯示連接狀態(tài)
Case 1: Tmp3 = Tmp3 + "CLOSED"
Case 2: Tmp3 = Tmp3 + "LISTENING"
Case 3: Tmp3 = Tmp3 + "SYN_SENT"
Case 4: Tmp3 = Tmp3 + "SYN_RCVD"
Case 5: Tmp3 = Tmp3 + "ESTABLISHED"
Case 6: Tmp3 = Tmp3 + "FIN_WAIT1"
Case 7: Tmp3 = Tmp3 + "FIN_WAIT2"
Case 8: Tmp3 = Tmp3 + "CLOSE_WAIT"
Case 9: Tmp3 = Tmp3 + "CLOSING"
Case 10: Tmp3 = Tmp3 + "LAST_ACK"
Case 11: Tmp3 = Tmp3 + "TIME_WAIT"
Case 12: Tmp3 = Tmp3 + "DELETE_TCB"
End Select
Combo1.AddItem Tmp3 ' 填充列表以供用戶刪除
' 本地IP
Tmp3 = Tmp3 + ":" + vbCrLf + vbTab + "Local: "
'CopyMemory為API函數(shù)
CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwLocalAddr, 4
Tmp3 = Tmp3 + CStr(Ip_Buf(1)) + "." + _
CStr(Ip_Buf(2)) + "."+ CStr(Ip_Buf(3)) _
+"." + CStr(Ip_Buf(4))
Tmp1 = TCP1.TCP_Table(i).dwLocalPort
' 本地端口
Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256
' 遠程IP
Tmp3 = Tmp3 + ":" + Str(Tmp2) + vbTab + "Remote: "
CopyMemory Ip_Buf(1), TCP1.TCP_Table(i).dwRemoteAddr, 4
Tmp3 = Tmp3 + CStr(Ip_Buf(1)) + "." + CStr(Ip_Buf(2)) _
+ "."+ CStr(Ip_Buf(3)) + "." + CStr(Ip_Buf(4))
' 遠程端口
Tmp1 = TCP1.TCP_Table(i).dwRemotePort
Tmp2 = Tmp1 / 256 + (Tmp1 Mod 256) * 256
Tmp3 = Tmp3 + ":" + Str(Tmp2) + vbCrLf
Text1 = Text1 + Tmp3
Next i
Case 50:
MsgBox "系統(tǒng)不支持該API函數(shù)": End
Case 87:
MsgBox "無效的參數(shù)": End
Case 111:
MsgBox "緩沖區(qū)溢出": End
Case 232:
MsgBox "無數(shù)據(jù)": End
End Select
End Sub
用于刪除連接的CLICK事件源代碼:
Private Sub delete_Click()
Dim Return1 As Long
If Combo1.ListIndex 0 Then Exit Sub
' 將欲刪連接的狀態(tài)置為值為12
TCP1.TCP_Table(Combo1.ListIndex).dwState = 12
' 執(zhí)行刪除
Return1 = SetTcpEntry(TCP1.TCP_Table(Combo1.ListIndex))
If Return1 = 0 Then
MsgBox "刪除成功"
Else
MsgBox "刪除失敗"
End If
Timer1_Timer
End Sub
2、屏幕監(jiān)控
當服務(wù)器系統(tǒng)發(fā)現(xiàn)TCP異常連接時,可通過屏幕監(jiān)控功能將局域網(wǎng)中被監(jiān)控工作站的屏幕畫面抓取到服務(wù)器中并實施相應(yīng)措施,如對工作站鎖機或關(guān)機等。此處用到WINSOCK控件,其通訊原理請參閱相關(guān)資料,屏幕監(jiān)控功能用到TCP協(xié)議,為了達到更好的效果,可在窗體中加入TIMER控件,設(shè)定TIMER事件。
(1) 工作站端
偵聽并響應(yīng)服務(wù)器端發(fā)出的連接請求和屏幕抓取。其中屏幕抓取功能可通過API函數(shù)實現(xiàn):
Dim a As String
Winsock1.GetData a, vbString
Select Case a
Case "zp"
Picture1.AutoRedraw = True
Picture1.ScaleMode = 1
lDesktop = GetDesktopWindow()
lDC = GetDC(lDesktop)
BitBlt Picture1.hdc, 0, 0, Screen.Width, _
Screen.Height, lDC,0, 0, vbSrcCopy
'獲取圖像數(shù)組
SavePicture Picture1.Image, filename
Winsock1.SendData "okm"
Dim myfile() As Byte
Case "fir" '傳第一塊圖
Open filename For Binary As #1
filelen = LOF(1)
ReDim myfile(1 To blocksize) As Byte
'(const blocksize=3072)
Get #1, , myfile
Winsock1.SendData myfile
curpos = blocksize
Case "next" ‘傳其它塊
If curpos = filelen Then
Winsock1.SendData "end"
Close #1
Exit Sub
End If
j = curpos + blocksize
If j filelen Then
j = filelen - curpos
Else
j = blocksize
End If
ReDim myfile(1 To j) As Byte
Get #1, , myfile
Winsock1.SendData myfile
curpos = curpos + j
End Select
注意:以上功能在WINSOCK的DataArrival事件中實現(xiàn)。抓取的圖象數(shù)據(jù)量較大,所以需要分塊傳輸。
(2) 服務(wù)器端
DataArrival 事件代碼:
Dim receivefile() As Byte
ReDim receivefile(bytesTotal) As Byte
Winsock1.GetData receivefile, vbArray + vbByte
'告訴Winsock控件收到的是字節(jié)數(shù)組類型的數(shù)據(jù)
If Chr(receivefile(0)) = "o" And _
Chr(receivefile(1)) = "k" And _
Chr(receivefile(2)) = "m" Then
If Dir$(filename) "" Then Kill filename
' 打開文件,準備存儲圖像
Open filename For Binary As #1
filelen = 0
Winsock1.SendData "fir"
Exit Sub
End If
If Chr(receivefile(0)) = "e" And _
Chr(receivefile(1)) = "n" And _
Chr(receivefile(2)) = "d" Then
Label1.Caption = "end"
Close #1
Picture1.Picture = LoadPicture(filename) '顯示圖象
Exit Sub
End If
Put #1, , receivefile
Winsock1.SendData "next"
3、其它功能
主要用到一些API函數(shù),如實現(xiàn)屏幕鎖定和解鎖操作可使用Enable Window,實現(xiàn)關(guān)機功能用ExitWindowsEx, 服務(wù)器和工作站之間的信息互送用到WINSOCK控件的UDP協(xié)議,具體用法請參閱有關(guān)資料。
結(jié)束語
通過在基本的網(wǎng)絡(luò)監(jiān)控系統(tǒng)增加入侵檢測,就能夠極大提高網(wǎng)絡(luò)的整體安全性,使之更靈敏、更智能,大大降低入侵的成功率。
如果是usb掃描槍,是焦點在哪它就輸入在哪,不能自動對應(yīng)到相應(yīng)的文本框
如果是串口掃描槍可以實現(xiàn)你的功能,在代碼里判斷相應(yīng)的串口對應(yīng)文本框