-
c# 扫描IP Http Header
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; } }}
- 2014-06-23下载
- 积分:1
-
on creating original socket, revised I/0 option of achieving an IP packet captur...
基于创建原始套接字,修改I/0选项实现的一个IP包捕获并分析的应用程序. vc6.0下编译通过-on creating original socket, revised I/0 option of achieving an IP packet capture and analysis applications. Under compile vc6.0
- 2022-02-28 16:54:02下载
- 积分:1
-
imageprocess
利用C++语言,实现对图象处理的一些操作。比较简单(The use of C++ language, implementation of some image processing operations. Relatively simple)
- 2009-03-15 17:01:07下载
- 积分:1
-
chailvfei2
说明: 差旅费报销单,公司出差报销的单据,在excel下编的。(Travel claims, the company reimbursed travel documents, in the under excel.)
- 2009-07-30 08:23:10下载
- 积分:1
-
299---Traveling-Salesman-Problem-via-Genetic-Algo
299 - Traveling Salesman Problem via Genetic Algorithm v1.0 - Namira
- 2013-08-06 12:57:09下载
- 积分:1
-
relax_restrict_interpolate
说明: 多重网格法求解过程中的松弛、限制和插值方法(multigrid iteration for relax, restrict and interpolate)
- 2021-01-29 10:34:14下载
- 积分:1
-
example41_SD_FAT32
说明: DSP实现对内存卡写入的测试程序
能够准确的对内存卡进行写入操作
可在此基础上进一步开发内存卡(A Test Program for Memory Card Writing Based on DSP
Can accurately write to memory card
On this basis, memory card can be further developed.)
- 2020-06-17 22:20:01下载
- 积分:1
-
osgriver
基于osg的河流显示,可以达到实时绘制效果。(Based osg rivers display, you can achieve real-time rendering results.)
- 2020-09-15 13:47:58下载
- 积分:1
-
PropertyPermission
Property Permission extends Basic Permission Source Code for Andriod.
- 2014-01-22 11:05:18下载
- 积分:1
-
ASP初步――很好的ASP入门教程 通往网络编程的桥梁!
ASP初步――很好的ASP入门教程 通往网络编程的桥梁!-ASP-- ASP good entry Network Programming Guide to the bridge!
- 2022-03-22 00:23:21下载
- 积分:1