=_maxThreads)break;System.ObjectlockThis=newSystem.Object();lock(lockThis){_currentThreads;if(_currentThreads>_maxThreads)_currentThreads=_maxThreads;stringtip=curIp;Threadt=newThread(newParameterizedThreadStart(Run));t.Start(tip);threads.Add(t);curIp=IPUtility.getLastIp(curIp,p.EndIp,1);}}else{break;}}}}protectedvoidRun(objectob){stringip=ob.ToString();SocketGetHeadh=newSocketGetHead();stringret=h.GetHtml(ip,80);if(ret.IndexOf("DVRDVS-Webs")>0){ListViewItemitem=newListViewItem();item.SubItems[0].Text=(listView1.Items.Count1).ToString();ListViewItem.ListViewSubItemlvSubItem=newListViewItem.ListViewSubItem();lvSubItem.Text=ip;item.SubItems.Add(lvSubItem);lvSubItem=newListViewItem.ListViewSubItem();lvSubItem.Text="DVRDVS-Webs";item.SubItems.Add(lvSubItem);listView1.Items.Add(item);}System.ObjectlockThis=newSystem.Object();lock(lockThis){lblCurIp.Text=ip;_currentThreads--;if(_currentThreads<0)_currentThreads=0;}}privatevoidtsmCopy_Click(objectsender,EventArgse){if(listView1.SelectedItems.Count>0){stringip=listView1.SelectedItems[0].SubItems[1].Text;Clipboard.SetText(ip);}}privatevoidtsmExport_Click(objectsender,EventArgse){StreamWriterwriter=newStreamWriter(AppDomain.CurrentDomain.BaseDirectory"\export.txt",true);foreach(ListViewItemiteminlistView1.Items){stringip=item.SubItems[1].Text;writer.WriteLine(ip);writer.Flush();}writer.Flush();writer.Close();MessageBox.Show("导出成功!");}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){try{if(mt!=null){mt.Interrupt();mt.Abort();}foreach(Threadtinthreads){t.Interrupt();t.Abort();}if(main!=null){main.Interrupt();main.Abort();}}catch{}Thread.Sleep(5000);}privatevoidbtnStop_Click(objectsender,EventArgse){try{if(mt!=null){mt.Interrupt();mt.Abort();}foreach(Threadtinthreads){t.Interrupt();t.Abort();}if(main!=null){main.Interrupt();main.Abort();}}catch{}btnStart.Enabled=true;}}}-IMDN开发者社群-imdn.cn"> =_maxThreads)break;System.ObjectlockThis=newSystem.Object();lock(lockThis){_currentThreads;if(_currentThreads>_maxThreads)_currentThreads=_maxThreads;stringtip=curIp;Threadt=newThread(newParameterizedThreadStart(Run));t.Start(tip);threads.Add(t);curIp=IPUtility.getLastIp(curIp,p.EndIp,1);}}else{break;}}}}protectedvoidRun(objectob){stringip=ob.ToString();SocketGetHeadh=newSocketGetHead();stringret=h.GetHtml(ip,80);if(ret.IndexOf("DVRDVS-Webs")>0){ListViewItemitem=newListViewItem();item.SubItems[0].Text=(listView1.Items.Count1).ToString();ListViewItem.ListViewSubItemlvSubItem=newListViewItem.ListViewSubItem();lvSubItem.Text=ip;item.SubItems.Add(lvSubItem);lvSubItem=newListViewItem.ListViewSubItem();lvSubItem.Text="DVRDVS-Webs";item.SubItems.Add(lvSubItem);listView1.Items.Add(item);}System.ObjectlockThis=newSystem.Object();lock(lockThis){lblCurIp.Text=ip;_currentThreads--;if(_currentThreads<0)_currentThreads=0;}}privatevoidtsmCopy_Click(objectsender,EventArgse){if(listView1.SelectedItems.Count>0){stringip=listView1.SelectedItems[0].SubItems[1].Text;Clipboard.SetText(ip);}}privatevoidtsmExport_Click(objectsender,EventArgse){StreamWriterwriter=newStreamWriter(AppDomain.CurrentDomain.BaseDirectory"\export.txt",true);foreach(ListViewItemiteminlistView1.Items){stringip=item.SubItems[1].Text;writer.WriteLine(ip);writer.Flush();}writer.Flush();writer.Close();MessageBox.Show("导出成功!");}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){try{if(mt!=null){mt.Interrupt();mt.Abort();}foreach(Threadtinthreads){t.Interrupt();t.Abort();}if(main!=null){main.Interrupt();main.Abort();}}catch{}Thread.Sleep(5000);}privatevoidbtnStop_Click(objectsender,EventArgse){try{if(mt!=null){mt.Interrupt();mt.Abort();}foreach(Threadtinthreads){t.Interrupt();t.Abort();}if(main!=null){main.Interrupt();main.Abort();}}catch{}btnStart.Enabled=true;}}} - IMDN开发者社群-imdn.cn">
登录
首页 » C# » c# 扫描IP Http Header

c# 扫描IP Http Header

于 2014-06-23 发布
0 288
下载积分: 1 下载次数: 0

代码说明:

c# 扫描IP Http Headerusing 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.IO;namespace HScan{ public partial class Form1 : Form { int _currentThreads = 0; int _maxThreads = 100; Thread main = null; Thread mt = null; List threads = new List(); public Form1() { InitializeComponent(); Control.CheckForIllegalCrossThreadCalls = false; } private void btnStart_Click(object sender, EventArgs e) { btnStart.Enabled = false; if (txtStart.Text.Trim() == "") { MessageBox.Show("起始IP不能为空."); return; } if (txtEnd.Text.Trim() == "") { MessageBox.Show("结束IP不能为空."); return; } int ts = Convert.ToInt32(txtThreads.Text); _maxThreads = ts; string startIp = txtStart.Text; string endIp = txtEnd.Text; TParameter tp=new TParameter(); tp.StartIp=startIp; tp.EndIp=endIp; tp.ThreadCount=ts; main = new Thread(new ParameterizedThreadStart(StartMe)); main.Start(tp); } protected void ThreadManage() { Thread c=null; while (true) { System.Object lockThis = new System.Object(); lock (lockThis) { for (int i = 0; i < threads.Count; i ) { if (threads[i] != null && !threads[i].IsAlive) { c = threads[i]; break; } } if (c != null) { threads.Remove(c); } } } } protected void StartMe(object ob) { mt = new Thread(new ThreadStart(ThreadManage)); mt.Start(); TParameter p = ob as TParameter; string curIp = p.StartIp; while (true) { for (int i = 0; i < _maxThreads; i ) { if (curIp != "") { if (_currentThreads >= _maxThreads) break; System.Object lockThis = new System.Object(); lock (lockThis) { _currentThreads ; if (_currentThreads > _maxThreads) _currentThreads = _maxThreads; string tip = curIp; Thread t = new Thread(new ParameterizedThreadStart(Run)); t.Start(tip); threads.Add(t); curIp = IPUtility.getLastIp(curIp, p.EndIp, 1); } } else { break; } } } } protected void Run(object ob) { string ip = ob.ToString(); SocketGetHead h = new SocketGetHead(); string ret = h.GetHtml(ip, 80); if (ret.IndexOf("DVRDVS-Webs") > 0) { ListViewItem item = new ListViewItem(); item.SubItems[0].Text = (listView1.Items.Count 1).ToString(); ListViewItem.ListViewSubItem lvSubItem = new ListViewItem.ListViewSubItem(); lvSubItem.Text = ip; item.SubItems.Add(lvSubItem); lvSubItem = new ListViewItem.ListViewSubItem(); lvSubItem.Text = "DVRDVS-Webs"; item.SubItems.Add(lvSubItem); listView1.Items.Add(item); } System.Object lockThis = new System.Object(); lock(lockThis) { lblCurIp.Text = ip; _currentThreads--; if (_currentThreads < 0) _currentThreads = 0; } } private void tsmCopy_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { string ip = listView1.SelectedItems[0].SubItems[1].Text; Clipboard.SetText(ip); } } private void tsmExport_Click(object sender, EventArgs e) { StreamWriter writer = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory "\export.txt",true); foreach (ListViewItem item in listView1.Items) { string ip=item.SubItems[1].Text; writer.WriteLine(ip); writer.Flush(); } writer.Flush(); writer.Close(); MessageBox.Show("导出成功!"); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { if (mt != null) { mt.Interrupt(); mt.Abort(); } foreach (Thread t in threads) { t.Interrupt(); t.Abort(); } if (main != null) { main.Interrupt(); main.Abort(); } } catch { } Thread.Sleep(5000); } private void btnStop_Click(object sender, EventArgs e) { try { if (mt != null) { mt.Interrupt(); mt.Abort(); } foreach (Thread t in threads) { t.Interrupt(); t.Abort(); } if (main != null) { main.Interrupt(); main.Abort(); } } catch { } btnStart.Enabled = true; } }}

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • ntop-3.2
    ntop 3.2的源代码,其官方网站为http://222.ntop.org(ntop 3.2 source code for its official website http://222.ntop.org)
    2006-08-05 10:30:24下载
    积分:1
  • Socket programming (TCP)
    Socket编程,实现了客户端与服务器端的TCP连接操作。(Socket programming (TCP))
    2018-08-29 16:17:37下载
    积分:1
  • 简单的服务器源码 tinyhttpd-0.1.0
    说明:  这是一个极其简单的服务器源码。。。。仅供学习参考(This software is copyright 1999 by J. David Blackstone.)
    2020-06-20 03:40:01下载
    积分:1
  • hosthook
    com写的网络ip地址挂起的程序(com write network ip address hang procedures)
    2004-12-07 09:35:00下载
    积分:1
  • c#发送邮件类(含接收邮件和发送邮件源码)
    实现发送邮件的类,同时包含POP3接收邮件类
    2014-09-02下载
    积分:1
  • fileProtect
    说明:  网络安全与密码学技术,用qt作为界面,利用md5算法实现的文件防篡改程序。(Network security and cryptography, using qt as an interface, use the file md5 algorithm tamper program.)
    2021-03-29 16:59:10下载
    积分:1
  • QosSvr
    简易TCP通讯服务器端,QosClt为客户端。多个客户端间的通讯需要基于服务器,即通过服务器转发。(Simple TCP communication server, QosClt for the client. Communication between multiple clients need a server-based, that is transmitted through the server.)
    2013-09-09 13:50:32下载
    积分:1
  • pop3lib类库 +实例(这个不错) 附完整源码下载
    通常情况下,该实例已经够用了                             
    2013-07-28下载
    积分:1
  • FreeFileSync_v4.2_source
     FreeFileSync是一个易于使用的开放源码文件夹同步和比较软件,简单易用。 FreeFileSync[1] 首先是文件同步功能,可以在指定的两个文件夹之间进行单向或双向的同步,点击程序窗口右上方的绿色齿轮图标可以设置相关参数;期间也可以自定义需要筛选的文件,有“包括”和“例外”两种过滤方式,定义需要过滤的文件类型,这就看个人需要了。(FreeFileSync is an easy to use open source software folder synchronization and comparison, easy to use. FreeFileSync [1] The first is file synchronization, you can specify the folder between the two one-way or two-way synchronization, click the program icon in the window at the top right of the green gear can set parameters period can also be customized to sift through the file, the " include" and " exceptional" two filtering methods, definitions need to filter the file types, which depends on personal needs.)
    2020-09-09 10:58:02下载
    积分:1
  • ZXPortMap
    ZXPortMap 端口映射源代码 一个很好的端口映射工具(ZXPortMap port mapping source code for a good port mapping tool)
    2013-09-12 13:13:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载