Программа на Delphi. Помощь нужна.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Happer, 14 Mar 2006.

  1. Happer

    Happer New Member

    Joined:
    25 Feb 2006
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    немного Делфи знаю, но не достаточно для того чтобы написать следующую программу.
    Смысл таков:

    программа по заданным дипазонам Ip адресов должна отсылать с любого Tcp-порта моего компа траффик со скоростью 1-5 Кб\с (больше не желательно) на любой Tcp-порт удаленных компов. Естественно отсылка пакетов должна происходить в несколько потоков , пока я ее не отменю.

    Кто может подсказать, как это реализовать? Ну а если это не очень трудно, то можно и весь код выложить. Буду очень благодарен!
     
  2. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Если тебе нужно подделывать обратные TCP порты (только незнаю, зачем), тогда придеться вручную составлять айпи заголовок. Делаеться это так - создаешь RAW сокет, ставишь ему режим IP_HDRINCL (2) ф-ией setsockopt(), затем берешь буффер, оформляешь его как айпи заголовок, ставишь туда обратный айпи, айпи назначения, исходный порт, порт назначения, протокол ставь IPPROTO_TCP... А вот с флагами... Если тебе нужно просто SYN фреймы отправлять, тогда ставь только SYN. Если полноценное подключение - то это уже сложнее, нужно в несколько этапов... И айпи спуфить уже нельзя, ответ не придет...
    Как регулировать кб в сек отсылку - я даже и не думал, можно посчитат общую скорость и судя по ней делать задержку перед каждым пакетом...
    Вообщем задумка у тебя сложновата...
    Правда, возможно ты имел ввиду что порт исходный - не имеет значения, а на трафик забьем, тогда получается
    SOCKET s=socket(AF_INET,SOCK_STREAM,0);
    sockaddr_in s_a;
    s_a.sin_family=AF_INET;
    s_a.sin_port=htons(нужный_порт);
    s_a.sin_addr.s_addr=inet_addr("тут нужный айпи");
    BYTE buf[100];
    ZeroMemory( buf, 0, 100 );
    connect(s, (struct sockaddr*)&s_a, sizeof( s_a ));
    send( s, buf, 100, 0 );
    closesocket(s);

    и так для каждого...

    Еее я только заметил! Тут фигурирует делфи!! фу, в жизни бы не написал ответ если бы заметил сразу!
     
  3. Happer

    Happer New Member

    Joined:
    25 Feb 2006
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Спасибо за код!
    А в целом идея такова. У нас в сети межсегментный траффик платный - за каждый скачаный с меня мег инфы мне на счет зачисляют определенную сумму денег.
    А так как траффик всё равно проходит через центральный маршрутизатор, а значит учитывается в статистике и следовательно мне приходят деньги.

    Остается только вопрос - не расценят подобные рассылки как вирусную активность?
     
  4. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    А как они определяют, у тебя скачали или ты сам послал?
     
  5. Happer

    Happer New Member

    Joined:
    25 Feb 2006
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    эм..ну если траффик будет идти одновременно на несколько ИПов, причем в небольшом кол-ве.... то вполне смогут принять за активность вируса.
     
  6. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Я тебя непонимаю - ты мне обьясни по каким критериям определяеться, что у тебя скачали данные по Tcp и по каким что ТЫ САМ ПОСЛАЛ ДАННЫЕ по Tcp ? Вот этого я непонял
     
  7. Happer

    Happer New Member

    Joined:
    25 Feb 2006
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    ну кто запрос посылает не трудно установить...
     
  8. EvL

    EvL New Member

    Joined:
    24 Mar 2006
    Messages:
    15
    Likes Received:
    1
    Reputations:
    0
    правельно только если ты посылаеш индификатору.
     
Loading...
Similar Threads - Программа Delphi Помощь
  1. Peja
    Replies:
    0
    Views:
    2,641