111,120
社区成员
发帖
与我相关
我的任务
分享
private void btRun_Click(object sender, System.EventArgs e)
{
string sIp = Dns.GetHostByName(Dns.GetHostName()).AddressList[0].ToString();
RawSocket rs = new RawSocket();
rs.CreateAndBindSocket(sIp);
rs.PacketArrival += new RawSocket.PacketArrivedEventHandler(GoSJB);
rs.Run();
}
private void GoSJB(Object sender, RawSocket.PacketArrivedEventArgs e)
{
string s="";
//s = Encoding.GetEncoding("gb2312").GetString(e.ReceiveBuffer);
s = Encoding.Default.GetString(e.ReceiveBuffer);
if (s.Replace(tbFindText.Text, "").Length != s.Length)
{
s = s.Replace("\0", "");
tbText.Text += s + "----------------------"+ e.DestinationAddress + ":"+ e.DestinationPort + e.OriginationAddress + ":"+ e.OriginationPort +"-------------------------------";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < e.PacketLength; i++)
{
s = Convert.ToString(e.ReceiveBuffer[i], 16);
if (s.Length==1)
s = "0"+s;
sb.Append(s + " ");
}
tb16.Text += sb.ToString().ToUpper() + "------------------------" + e.DestinationAddress + ":" + e.DestinationPort + e.OriginationAddress + ":" + e.OriginationPort + "-----------------------------";
tbFBS.Text=(int.Parse(tbFBS.Text)+1).ToString();
}
}