用户
购买联系
定制软件
智动博客助手
智动终级刷IP工具
首页
首页
/
编程技术
扫描端口的简单实现方法
时间:
2010年04月12日
点击:
99
using
System;
using
System.Drawing;
using
System.Collections;
using
System.ComponentModel;
using
System.Windows.Forms;
using
System.Data;
using
System.Net.Sockets;
namespace
PortCheck
...
{
/**/
///
<summary>
///
Form1 的摘要说明。
///
</summary>
public
class
Form1 : System.Windows.Forms.Form
...
{
private
System.Windows.Forms.Label label1;
private
System.Windows.Forms.TextBox textBox1;
private
System.Windows.Forms.Label label2;
private
System.Windows.Forms.NumericUpDown numericUpDown1;
private
System.Windows.Forms.Label label3;
private
System.Windows.Forms.NumericUpDown numericUpDown2;
private
System.Windows.Forms.Button button1;
private
System.Windows.Forms.RichTextBox richTextBox1;
private
System.Windows.Forms.ProgressBar progressBar1;
/**/
///
<summary>
///
必需的设计器变量。
///
</summary>
private
System.ComponentModel.Container components
=
null
;
public
Form1()
...
{
//
//
Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
//
TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/**/
///
<summary>
///
清理所有正在使用的资源。
///
</summary>
protected
override
void
Dispose(
bool
disposing )
...
{
if
( disposing )
...
{
if
(components
!=
null
)
...
{
components.Dispose();
}
}
base
.Dispose( disposing );
}
Windows 窗体设计器生成的代码
#region
Windows 窗体设计器生成的代码
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
...
{
this
.label1
=
new
System.Windows.Forms.Label();
this
.textBox1
=
new
System.Windows.Forms.TextBox();
this
.label2
=
new
System.Windows.Forms.Label();
this
.numericUpDown1
=
new
System.Windows.Forms.NumericUpDown();
this
.label3
=
new
System.Windows.Forms.Label();
this
.numericUpDown2
=
new
System.Windows.Forms.NumericUpDown();
this
.button1
=
new
System.Windows.Forms.Button();
this
.richTextBox1
=
new
System.Windows.Forms.RichTextBox();
this
.progressBar1
=
new
System.Windows.Forms.ProgressBar();
((System.ComponentModel.ISupportInitialize)(
this
.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(
this
.numericUpDown2)).BeginInit();
this
.SuspendLayout();
//
//
label1
//
this
.label1.Location
=
new
System.Drawing.Point(
8
,
16
);
this
.label1.Name
=
"
label1
"
;
this
.label1.Size
=
new
System.Drawing.Size(
80
,
16
);
this
.label1.TabIndex
=
0
;
this
.label1.Text
=
"
目标主机名:
"
;
//
//
textBox1
//
this
.textBox1.Location
=
new
System.Drawing.Point(
88
,
8
);
this
.textBox1.Name
=
"
textBox1
"
;
this
.textBox1.Size
=
new
System.Drawing.Size(
72
,
21
);
this
.textBox1.TabIndex
=
1
;
this
.textBox1.Text
=
"
127.0.0.1
"
;
//
//
label2
//
this
.label2.Location
=
new
System.Drawing.Point(
168
,
16
);
this
.label2.Name
=
"
label2
"
;
this
.label2.Size
=
new
System.Drawing.Size(
80
,
16
);
this
.label2.TabIndex
=
2
;
this
.label2.Text
=
"
起始端口号:
"
;
//
//
numericUpDown1
//
this
.numericUpDown1.Location
=
new
System.Drawing.Point(
248
,
8
);
this
.numericUpDown1.Maximum
=
new
System.Decimal(
new
int
[]
...
{
65536
,
0
,
0
,
0
}
);
this
.numericUpDown1.Name
=
"
numericUpDown1
"
;
this
.numericUpDown1.Size
=
new
System.Drawing.Size(
80
,
21
);
this
.numericUpDown1.TabIndex
=
3
;
//
//
label3
//
this
.label3.Location
=
new
System.Drawing.Point(
8
,
40
);
this
.label3.Name
=
"
label3
"
;
this
.label3.Size
=
new
System.Drawing.Size(
80
,
16
);
this
.label3.TabIndex
=
4
;
this
.label3.Text
=
"
结束端口号:
"
;
//
//
numericUpDown2
//
this
.numericUpDown2.Location
=
new
System.Drawing.Point(
88
,
32
);
this
.numericUpDown2.Maximum
=
new
System.Decimal(
new
int
[]
...
{
65536
,
0
,
0
,
0
}
);
this
.numericUpDown2.Name
=
"
numericUpDown2
"
;
this
.numericUpDown2.Size
=
new
System.Drawing.Size(
72
,
21
);
this
.numericUpDown2.TabIndex
=
5
;
this
.numericUpDown2.Value
=
new
System.Decimal(
new
int
[]
...
{
50
,
0
,
0
,
0
}
);
//
//
button1
//
this
.button1.Location
=
new
System.Drawing.Point(
248
,
32
);
this
.button1.Name
=
"
button1
"
;
this
.button1.Size
=
new
System.Drawing.Size(
80
,
23
);
this
.button1.TabIndex
=
6
;
this
.button1.Text
=
"
开始扫描
"
;
this
.button1.Click
+=
new
System.EventHandler(
this
.button1_Click);
//
//
richTextBox1
//
this
.richTextBox1.Location
=
new
System.Drawing.Point(
8
,
56
);
this
.richTextBox1.Name
=
"
richTextBox1
"
;
this
.richTextBox1.Size
=
new
System.Drawing.Size(
320
,
168
);
this
.richTextBox1.TabIndex
=
7
;
this
.richTextBox1.Text
=
""
;
//
//
progressBar1
//
this
.progressBar1.Location
=
new
System.Drawing.Point(
8
,
224
);
this
.progressBar1.Name
=
"
progressBar1
"
;
this
.progressBar1.Size
=
new
System.Drawing.Size(
320
,
23
);
this
.progressBar1.Step
=
1
;
this
.progressBar1.TabIndex
=
10
;
//
//
Form1
//
this
.AutoScaleBaseSize
=
new
System.Drawing.Size(
6
,
14
);
this
.ClientSize
=
new
System.Drawing.Size(
336
,
254
);
this
.Controls.Add(
this
.progressBar1);
this
.Controls.Add(
this
.richTextBox1);
this
.Controls.Add(
this
.button1);
this
.Controls.Add(
this
.numericUpDown2);
this
.Controls.Add(
this
.label3);
this
.Controls.Add(
this
.numericUpDown1);
this
.Controls.Add(
this
.label2);
this
.Controls.Add(
this
.textBox1);
this
.Controls.Add(
this
.label1);
this
.MaximizeBox
=
false
;
this
.Name
=
"
Form1
"
;
this
.StartPosition
=
System.Windows.Forms.FormStartPosition.CenterScreen;
this
.Text
=
"
演示端口扫描
"
;
((System.ComponentModel.ISupportInitialize)(
this
.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(
this
.numericUpDown2)).EndInit();
this
.ResumeLayout(
false
);
}
#endregion
/**/
///
<summary>
///
应用程序的主入口点。
///
</summary>
[STAThread]
static
void
Main()
...
{
Application.Run(
new
Form1());
}
private
void
button1_Click(
object
sender, System.EventArgs e)
...
{
//
扫描端口
int
iStart
=
(
int
)
this
.numericUpDown1.Value;
int
iEnd
=
(
int
)
this
.numericUpDown2.Value;
try
...
{
this
.progressBar1.Minimum
=
iStart;
this
.progressBar1.Maximum
=
iEnd;
this
.richTextBox1.Text
=
"
程序开始扫描端口:\n
"
;
this
.richTextBox1.Update();
for
(
int
i
=
iStart ;i
<
iEnd;i
++
)
...
{
this
.progressBar1.Value
=
i;
TcpClient MyTCP
=
null
;
try
...
{
MyTCP
=
new
TcpClient(
this
.textBox1.Text,i);
this
.richTextBox1.Text
+=
"
端口
"
+
i.ToString()
+
"
开放!\n
"
;
this
.richTextBox1.Update();
}
catch
...
{
}
}
this
.richTextBox1.Text
+=
"
扫描端口结束!\n
"
;
}
catch
(Exception Err)
...
{
MessageBox.Show(
"
扫描端口操作发生错误,错误信息是:
"
+
Err.Message,
"
信息提示
"
,MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}
}
更多DotNet好文章www.zdexe.com
赞助商链接
热门内容
Navicat 中读取MYSQL数据显中文乱码问题解决方法
Proguard混淆提示类重复(Duplicate zip entry等提示)
phpstorm不安装apache就可以本地测试PHP
C# ListView随窗体大小自动改变列宽
MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)
C#出现A generic error occurred in GDI+问题分析与解决
C#如何将控件设置为透明效果
钩子(HOOK)函数教程(一)
C#时常需要调用C++DLL问题详解
目录未找到或者无法访问:“ ./data/template”的解决
Sqlite:一个SQL搞定,记录存在不插入或者替换数据
C#实现自定义外观并可拖动和改变大小的窗口
相关内容
Android 实现模拟按键,模拟操作
Sqlite:一个SQL搞定,记录存在不插入或者替换数据
Nginx伪静态配置和常用Rewrite伪静态规则集锦
MQTT协议简要介绍
Navicat 中读取MYSQL数据显中文乱码问题解决方法
phpstorm不安装apache就可以本地测试PHP
Proguard混淆提示类重复(Duplicate zip entry等提示)
Android权限设置总汇
C#出现A generic error occurred in GDI+问题分析与解决
SQLite 简介
用PHP操作sqlite数据库
用JAVA操作SQLite
我们的产品
智动终极刷IP工具
智动博客助手
智动邮件搜索
联系我们
copyright © 2008 - 2021
智动软件
关于我们
联系我们
代理合作
投诉建议
常见问题
常用组件下载