资源简介
C# 实现的IP地址段端口扫描器,http://www.cnblogs.com/wk986/archive/2013/03/14/2960529.html
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.Net.Sockets;
namespace ScanDemo
{
public partial class Form1 : Form
{
#region 声明变量
//已扫描端口数目
double scannedCount = 0;
//正在运行的线程数目
int runningThreadCount = 0;
//最大工作线程数
static int maxThread = 100;
//IP地址
string host = null;
//端口
int port = 1234;
int startIP=1;
int endIP=255;
string addresIP = “192.168.1.“;
#endregion
#region 窗体方法
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
this.Text = string.Format(“wk986 扫描IP段指定端口 {0}-{1}:{2}“
addresIP+startIPendIPport);
}
#endregion
#region 扫描方法
public void Scan(string m_host int m_port)
{
//我们直接使用比较高级的TcpClient类
TcpClient tc = new TcpClient();
//设置超时时间
tc.SendTimeout = tc.ReceiveTimeout = 2000;
try
{
//同步方法
//IPAddress ip = IPAddress.Parse(host);
//IPEndPoint IPendp = new IPEndPoint(ip port);
//tc.Connect(IPendp);
//异步方法
IAsyncResult oAsyncResult = tc.BeginConnect(m_host m_port null null);
oAsyncResult.AsyncWaitHandle.WaitOne(1000 true);//1000为超时时间
if (tc.Connected)
{
//如果连接上,证明此端口为开放状态
UpdateListBox(listBox1 m_host + “:“ + m_port.ToString());
}
}
catch (System.Net.Sockets.SocketException e)
{
//容错处理
//MessageBox.Show(“Port {0} is closed“ host.ToString());
//Console.WriteLine(e.Message);
}
finally
{
tc.Close();
tc = null;
scannedCount++;
runningThreadCount--;
}
}
#endregion
#region 按钮
private void button1_Click(object sender EventArgs e)
{
if (!backgroundWorker1.IsBusy)
{
listBox1.Items.Clear();
scannedCount = 0;
runningThreadCount = 0;
backgroundWorker1.RunWorkerAsync();
}
}
private void button2_Click(object sender EventArgs e)
{
backgroundWorker1.CancelAsync();
}
private void button3_Click(object sender EventArgs e)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7726 2013-03-14 22:34 IP端口扫描\ScanDemo\Form1.cs
文件 5797 2013-03-14 21:41 IP端口扫描\ScanDemo\Form1.Designer.cs
文件 6022 2013-03-14 21:41 IP端口扫描\ScanDemo\Form1.resx
文件 3541 2013-03-14 22:13 IP端口扫描\ScanDemo\Form2.cs
文件 7161 2013-03-14 22:05 IP端口扫描\ScanDemo\Form2.Designer.cs
文件 5817 2013-03-14 22:05 IP端口扫描\ScanDemo\Form2.resx
文件 489 2013-03-13 10:27 IP端口扫描\ScanDemo\Program.cs
文件 1348 2013-03-12 16:55 IP端口扫描\ScanDemo\Properties\AssemblyInfo.cs
文件 2868 2013-03-12 16:55 IP端口扫描\ScanDemo\Properties\Resources.Designer.cs
文件 5612 2013-03-12 16:55 IP端口扫描\ScanDemo\Properties\Resources.resx
文件 1095 2013-03-12 16:55 IP端口扫描\ScanDemo\Properties\Settings.Designer.cs
文件 249 2013-03-12 16:55 IP端口扫描\ScanDemo\Properties\Settings.settings
文件 4025 2013-03-14 21:16 IP端口扫描\ScanDemo\ScanDemo.csproj
文件 858 2013-03-14 21:48 IP端口扫描\ScanDemo\SearchEventArgs.cs
文件 1546 2013-03-13 22:03 IP端口扫描\ScanIP.sln
..A..H. 50176 2013-03-14 22:49 IP端口扫描\ScanIP.suo
..A..H. 29696 2013-03-13 22:01 IP端口扫描\ScanIP.v11.suo
目录 0 2013-03-13 22:00 IP端口扫描\ScanDemo\Properties
目录 0 2013-03-14 22:49 IP端口扫描\ScanDemo
目录 0 2013-03-13 22:01 IP端口扫描
----------- --------- ---------- ----- ----
134026 20
- 上一篇:C#用GDI+画图经典案例不下后悔
- 下一篇:C#版USB通信编程(接收和发送数据)
相关资源
- C#版USB通信编程(接收和发送数据)
- C#用GDI+画图经典案例不下后悔
- C#工行 银企互联demo(NC)
- C# 实现Excel 与Access 数据库之间的导入
- C#版的模拟PhotoShop处理图片色阶的程序
- c#实现SVM源码内有简单使用Demo
- 神经网络C#实现
- c# 遗传算法 最短路径
- c# 简单计算器源代码
- C#制作科学计算器课程设计(源程序)
- C#实现Socket编程 (异步通讯解决Tcp粘
- 基于c#的手机短信收发程序
- asp.net+ajax 写的无刷新登录技术没有使
- 软件开发实习日记
- C# post 传值 和接收值
- 批量裁剪图片
- 中三种截屏方式小结
- c#+WINFORM+漂亮的软件启动界面特效源码
- C#计算器源码 C#计算器源码 C#计算器源
- C#读写HID设备
- PDF合并拆分 C#源码
- C#进销存系统
- C#蚁群算法求解TSP问题
- C#winform实现钢琴7音
- C#生成和解析二维码及调用摄像头识别
- C#考勤管理系统完整源码
- C#窗体猜数小程序源码
- C#WinForm使用CefSharp内嵌
- zw_C#人力资源管理系统源代码.zip
- C#定坐标快捷截图工具及源代码可双屏
评论
共有 条评论