上網遭到探測用VB編寫入侵監(jiān)聽程序
上網的時候很容易遭到探測,一般探測你個人的入侵者技術不會高明到哪里去。所以根本不能稱上黑客,所以本文就用入侵者來代替。他們對普通網民的掃描可以是多端口單IP的掃描或者多IP單端口掃描。前者是通過一些IP工具來取得你的IP,然后嘗試利用端口掃描獲取你的信息,看你的計算機有沒有預先中了木馬。然后通過網上的木馬端口列表,來獲得木馬名稱。用相應的客戶端軟件來連接到你的計算機。從而獲得密碼、以及你的秘密信息。后者則是通過利用如SuperScan等可以大范圍掃描IP的軟件,掃描打開特定端口的機器。比如,可以掃描打開7626端口的機器,看對方是否中了冰河。然后,入侵者就用客戶端連接到服務器從而入侵你的計算機。
這些掃描是簡單的TCP的ConNECt掃描。所以無法避開防火墻的追蹤。網民就可以利用天網等防火墻軟件來獲取對方的IP。相信很多DIY迷或者編程愛好者總是想擁有屬于自己的類似的工具。本文就給你講述如何用VB來獲得探測你的入侵者的IP地址,然后……我可沒有教你用藍屏炸彈或者蝸牛炸彈去炸它哦。畢竟,我們沒有入侵者的野心,本程序還可以讓你監(jiān)聽80端口,來察看對方對你進行的常規(guī)掃描。要看懂本文,你需要有一定的VB基礎。
好了,廢話少說,我們來看看本程序的基本原理:
入侵者通過Connect本機的端口,然后通過是否成功,來獲得信息。由于TCP的三次握手原理。他必定會留下自己的IP,我們就利用這一個原理來獲得對方的IP。
Winsock控件的屬性、方法和事件在我上次寫的《.用winsock制作漏洞掃描器》一文中已經敘述過,這里就不再介紹。大家還一定記得RemoteHostIP和LocalPort屬性吧。這就是對方的IP和自己的端口。聰明的你應該明白了吧。通過這兩個屬性就可以清楚的獲得對方的IP地址和他正在掃描的本地端口。
因為不可能一個端口只有一個人會掃描,所以本程序我們需要使用到控件數(shù)組。這個概念的描述大家可以查找MSDN。本程序的流程是:
1、 定義需要監(jiān)聽的端口
2、 裝載一定數(shù)量的Winsock1控件,從需要監(jiān)聽的端口列表中獲得數(shù)據(jù)。一一開啟監(jiān)聽功能。(Listen)
3、 當某一個控件接收到連接的事件發(fā)生,就把得到的RemoteIP和LocalPort加入日志
4、 加載一個Winsock2,繼續(xù)捕獲數(shù)據(jù)(Getdata)
5、 Winsock2數(shù)據(jù)到達記錄數(shù)據(jù)
程序的基本概念都介紹完了,相信你對本程序已經有了一定的認識?,F(xiàn)在我們就來開始我們的工作:
程序的控件以及說明如下:
控件名 控件類型 屬性
Label1 Label Caption=”增加端口”
Command1 command Caption=”添加”
Command2 command Caption=”監(jiān)聽”
Command3 command Caption=”退出”
Listports Listbox 無
TxtLog Richtextbox 無
程序的代碼以及說明如下:
‘本程序在VB6.0+Windows2000下測試通過!
Dim tmpstr As String
Dim NOW_OUT As Integer ’’總共出去連接的有幾個Winsock
Private Sub Command1_Click()
ListPorts.AddItem txtADDPORT.Text
End Sub
Private Sub Command2_Click()
On Error Resume Next
If Command2.Caption = "監(jiān)聽" Then
For i = 0 To ListPorts.ListCount - 1
Load Winsock1(i 1) ’’加載監(jiān)聽端口的winsock1數(shù)組控件
Winsock1(i 1).LocalPort = ListPorts.List(i) ’’設定端口
Winsock1(i 1).Listen ’’監(jiān)聽
Next i
Command2.Caption = "停止"
Else
For i = 1 To Winsock1.Count - 1
Unload Winsock1(i)
Next i
For i2 = 1 To Winsock2.Count - 1
Unload Winsock2(i2)
Next i2
Command2.Caption = "監(jiān)聽"
End If
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Load()
txtLOG.Text = "日志:"
【編輯推薦】