資源簡(jiǎn)介
c# 掃描IP Http Header
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.IO; namespace HScan { public partial class Form1 : Form { int _currentThreads = 0; int _maxThreads = 100; Thread main = null; Thread mt = null; List<Thread> threads = new List<Thread>(); 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("結(jié)束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("導(dǎo)出成功!"); } 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; } } }
代碼片段和文件信息
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.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()?==?““)
????????????{
??
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-06-23?15:25??HScan\
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\bin\
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\bin\Debug\
?????文件?????????434??2014-06-16?14:29??HScan\HScan\bin\Debug\export.txt
?????文件???????19456??2014-06-16?14:00??HScan\HScan\bin\Debug\HScan.exe
?????文件???????42496??2014-06-16?14:00??HScan\HScan\bin\Debug\HScan.pdb
?????文件???????11592??2014-06-16?14:30??HScan\HScan\bin\Debug\HScan.vshost.exe
?????文件?????????490??2007-07-21?02:33??HScan\HScan\bin\Debug\HScan.vshost.exe.manifest
?????文件????????6842??2014-06-16?14:06??HScan\HScan\Form1.cs
?????文件???????12240??2014-06-16?10:27??HScan\HScan\Form1.Designer.cs
?????文件????????6019??2014-06-16?10:27??HScan\HScan\Form1.resx
?????文件????????3846??2014-06-15?23:10??HScan\HScan\HScan.csproj
?????文件????????7597??2014-06-16?09:46??HScan\HScan\IPUtility.cs
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\obj\
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\obj\Debug\
?????文件????????1578??2014-06-16?14:30??HScan\HScan\obj\Debug\HScan.csproj.FileListAbsolute.txt
?????文件?????????847??2014-06-16?13:59??HScan\HScan\obj\Debug\HScan.csproj.GenerateResource.Cache
?????文件???????19456??2014-06-16?14:00??HScan\HScan\obj\Debug\HScan.exe
?????文件?????????180??2014-06-16?13:59??HScan\HScan\obj\Debug\HScan.Form1.resources
?????文件???????42496??2014-06-16?14:00??HScan\HScan\obj\Debug\HScan.pdb
?????文件?????????180??2014-06-16?13:59??HScan\HScan\obj\Debug\HScan.Properties.Resources.resources
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\obj\Debug\Refactor\
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\obj\Debug\TempPE\
?????文件?????????486??2014-06-11?14:17??HScan\HScan\Program.cs
?????目錄???????????0??2014-06-23?15:25??HScan\HScan\Properties\
?????文件????????1346??2014-06-11?14:17??HScan\HScan\Properties\AssemblyInfo.cs
?????文件????????2860??2014-06-11?14:17??HScan\HScan\Properties\Resources.Designer.cs
?????文件????????5612??2014-06-11?14:17??HScan\HScan\Properties\Resources.resx
?????文件????????1090??2014-06-11?14:17??HScan\HScan\Properties\Settings.Designer.cs
?????文件?????????249??2014-06-11?14:17??HScan\HScan\Properties\Settings.settings
............此處省略4個(gè)文件信息
評(píng)論
共有 條評(píng)論