资源简介
c#写的简单嗅探器,查找出当前本机IP,然后侦听所有端口,并带有解析结果的处理。适合于刚开始学习Socket的童鞋~

代码片段和文件信息
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.Net;
using System.Net.Sockets;
using SocketSniffer;
namespace mySniffer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
getIP();
}
private sniffer[] mysniffer;
private List Packets = new List();
private int PacketSize;
IPAddress[] hosts;
public void getIP()
{
hosts = Dns.Resolve(Dns.GetHostName()).AddressList;
if (hosts.Length == 0)
throw new NotSupportedException(“This computer does not have non-loopback interfaces installed!“);
for (int i = 0; i < hosts.Length; i++)
{
cb_ip.Items.Add(hosts[i].ToString());
}
cb_ip.SelectedIndex = 0;
mysniffer = new sniffer[hosts.Length];
}
private void btn_sniff_Click(object sender EventArgs e)
{
try
{
int iIndex = this.cb_ip.SelectedIndex;
if (mysniffer[iIndex] == null)
{
mysniffer[iIndex] = new sniffer(hosts[iIndex]);
}
if(mysniffer[iIndex].State == false)
{
mysniffer[iIndex].NewPacket += new NewPacketEventHandler(this.OnNewPacket);
mysniffer[iIndex].Start();
this.btn_sniff.Text = “停止抓包“;
}
else
{
mysniffer[iIndex].Stop();
this.btn_sniff.Text = “抓包“;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void OnNewPacket(sniffer pm Packet p)
{
// 把新的包添加到列表中
Packets.Add(p);
PacketSize += p.TotalLength;
this.Invoke(new UpdatePacketList(OnUpdatePacketList) p);
}
private delegate void UpdatePacketList(Packet p);
private void OnUpdatePacketList(Packet p)
{
lv_Data.Items.Add(new ListViewItem(new string[] {p.Time.ToString()p.Protocol.ToString()p.SourceIP.ToString()p.DestinationIP.ToString()p.TotalLength.ToString()}));
toolStripStatusLabel1.Text = string.Format(“共抓取了 {0} 数据包 [{1} bytes]“ Packets.Count PacketSize);
}
private void listView1_SelectedIndexChanged(object sender EventArgs e)
{
try
{
int iIndex = 0;
for (int i = 0; i < lv_Data.Items.Count; i++)
{
if (lv_Data.SelectedItems[0] == lv_Data.Items[i])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19968 2010-04-13 19:34 mySniffer\mySniffer\bin\Debug\mySniffer.exe
文件 24064 2010-04-13 19:34 mySniffer\mySniffer\bin\Debug\mySniffer.pdb
文件 14328 2010-04-13 19:33 mySniffer\mySniffer\bin\Debug\mySniffer.vshost.exe
文件 9216 2010-04-13 19:34 mySniffer\mySniffer\bin\Debug\SocketSniffer.dll
文件 19968 2010-04-13 19:34 mySniffer\mySniffer\bin\Debug\SocketSniffer.pdb
文件 18944 2010-04-13 20:37 mySniffer\mySniffer\bin\Release\app.publish\Application Files\mySniffer_1_0_0_2\mySniffer.exe.deploy
文件 7939 2010-04-13 20:37 mySniffer\mySniffer\bin\Release\app.publish\Application Files\mySniffer_1_0_0_2\mySniffer.exe.manifest
文件 9216 2010-04-13 20:36 mySniffer\mySniffer\bin\Release\app.publish\Application Files\mySniffer_1_0_0_2\SocketSniffer.dll.deploy
文件 5378 2010-04-13 20:37 mySniffer\mySniffer\bin\Release\app.publish\mySniffer.application
文件 555512 2010-04-13 20:37 mySniffer\mySniffer\bin\Release\app.publish\setup.exe
文件 1575 2010-04-13 20:44 mySniffer\mySniffer\bin\Release\mySniffer.application
文件 18944 2010-04-13 20:44 mySniffer\mySniffer\bin\Release\mySniffer.exe
文件 4208 2010-04-13 20:44 mySniffer\mySniffer\bin\Release\mySniffer.exe.manifest
文件 26112 2010-04-13 20:44 mySniffer\mySniffer\bin\Release\mySniffer.pdb
文件 1575 2010-04-13 20:44 mySniffer\mySniffer\bin\Release\mySniffer.vshost.application
文件 14328 2010-04-13 20:46 mySniffer\mySniffer\bin\Release\mySniffer.vshost.exe
文件 9216 2010-04-13 20:36 mySniffer\mySniffer\bin\Release\SocketSniffer.dll
文件 19968 2010-04-13 20:36 mySniffer\mySniffer\bin\Release\SocketSniffer.pdb
文件 5035 2010-04-13 20:36 mySniffer\mySniffer\Form1.cs
文件 10595 2010-04-13 20:36 mySniffer\mySniffer\Form1.Designer.cs
文件 12746 2010-04-13 20:36 mySniffer\mySniffer\Form1.resx
文件 6356 2010-04-13 20:44 mySniffer\mySniffer\mySniffer.csproj
文件 547 2010-04-13 20:44 mySniffer\mySniffer\mySniffer.csproj.user
文件 1716 2010-04-13 19:36 mySniffer\mySniffer\mySniffer_TemporaryKey.pfx
文件 610 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.csproj.FileListAbsolute.txt
文件 847 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.csproj.GenerateResource.Cache
文件 19968 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.exe
文件 4852 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.Form1.resources
文件 24064 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.pdb
文件 180 2010-04-13 19:34 mySniffer\mySniffer\obj\Debug\mySniffer.Properties.Resources.resources
............此处省略61个文件信息
相关资源
- C# Socket Server Client 通讯应用 完整的服
- C# Socket Tcp文件传输和文字聊天系统
- 用WPF开发的多人聊天室 语言C#
- C# Socket TCP通信
- unity+Socket+KCP+Protobuf的Unity局域网联机
- NET CORE 下实现WEB SOCKET通信
- 使用Socket发送数据
- SignalR在线聊天(websocket)
- Socket获取扫码枪扫码的数据
- Socket聊天室(客户端与服务端相互通
- socket服务端
- socket通讯实例(入门级)58873
- C#多线程以及Socket通讯
- 大文件Socket 传输 客户端和服务端
- Tcp/ip socket 服务器/客户端
- 网络抓包工具源码(MiniSniffer)
- Sockets通信框架
- C# winform Socket大文件传输
- C# 实现局域网视频监控Socket 编程
- C# 使用 TcpClient,Socket 聊天
- 网页js与本地C#程序 websocket通讯实现打
- 使用WPF+MVVMlight编写的Socket服务器/多客
- winform五子棋联机版
- C#网络抓包MySniffer+WinPcap_中文技术文档
- vb.net 与 c#.net 网络编程之 socket 套接字
- C#高性能大容量SOCKET并发
- 基于.NET/C#平台socket技术开发的一个多
- C# .NET Web API 完整 Demo
- C#超级通信调试工具源码可直接运行
- 基于C#和SharpPcap实现的sniffer
评论
共有 条评论