Ошибки соединения Client - Server

Тема в разделе "WASM.BEGINNERS", создана пользователем probka, 25 апр 2008.

  1. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Comer_,

    ни шиша ни понял, кроме слов 'сообщник', 'это нам не подходит', 'хукать'

    Каких технологий? Брат фан, помоги брату фану!

    Функция accept

    Эта функция используется сервером для принятия связи на сокет. Сокет должен быть уже слушающим в момент вызова функции. Если сервер устанавливает связь с клиентом, то функция accept возвращает новый сокет-дескриптор, через который и происходит общение клиента с сервером. Пока устанавливается связь клиента с сервером, функция accept блокирует другие запросы связи с данным сервером, а после установления связи "прослушивание" запросов возобновляется.

    Прототип: int accept(int s, char * name, int* anamelen);

    Первый аргумент функции - сокет-дескриптор для принятия связей от клиентов. Второй аргумент - указатель на адрес клиента (структура sockaddr ) для соответствующего домена. Третий аргумент - указатель на целое число - длину структуры адреса. Второй и третий аргументы заполняются соответствующими значениями в момент установления связи клиента с сервером и позволяют серверу точно определить, с каким именно клиентом он общается. Если сервер не интересуется адресом клиента, в качестве второго и третьего аргументов можно задать NULL-указатели.

    Как с помощью этого закрыть порт?
    Пример в одну строчку киньте. Я уверен, это не сложно.
     
  2. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    fasm нужно запретить законодательно. За интерес к fasm, 10 лет строгача без права блин переписки, какой то frikсмесь асма и винды голяк один.
     
  3. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    перехватывать надо в чужом процессе приём порта
     
  4. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Так, значит хватать в работающем процессе accept, параметры, в котором будут параметры порта.
    И что то делать с ними. Это для Вин.
    В каждом сетевом соединении, присутствует поток accept. Значит, теоретически, порты открыты ВСЕГДА. И если пришел ответ, что порт закрыт, это значит ОС или утилита, прислала ответ - порт закрыт. Но до ее ответа, мы в системе.
    А на самом деле, ОС всего лишь говорит потокам, брать из этого порта или не брать.
    Надо рассмотреть функцию accept, исходник. Глянуть там с какими параметрами она работает. Отловить их.
    Я уверен, что там переменная типа bool, 0 - принять то что вливается через этот порт. 1 - не принимать.
    Но там еще что-то есть. Читать дополнительно спецификацию по TCP/IP.
    Настройки ОС остаются, при перезапуске системы. Значит и работа с портами сохраняется в файле. Блин, какой это файл?

    Comer_, брат, спасибо. Я смотрю, тебя забанили. Я надеюсь не из-за меня? Если из-за меня, у меня действительно есть все альбомы Dire Straits. Залить куда-нибудь?
     
  5. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    probka
    Начнем сначала. Для освоения сетевых протоколов лучше всего взять простенький пример на СИ - думаю навалом. Насколько помню в клиенте там два вызова всего : open.... и send....
    В сервере тоже не много, естественно recieve.
    В Дельфи еще проще (если полный дистр) - закладка Internet, там TCP клиент и сервер на сокетах.
    Далее по именам методов ищем примеры в поисковиках, если нет в самом Дельфи.
    Теперь следующий вопрос : выполнение сервером вредной/полезной работы. Это к сетям никак не относится. Это чисто хакерские штучки, если хотим скрытно делать и чисто программные, если живем честно. Не надо все в кучу мешать и народ путать. TCP для передачи информации, а выполнение - особая статья. Лучше их сразу разделить.
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Comer_
    не надо ей тогда, так, зажигать ;)
    и я что-то упустил что она не свой хандл закрывать собралась.

    probka
    The closesocket function closes an existing socket.

    int closesocket(
    SOCKET s
    );


    и почитай вначале фундаментальные вещи о соккетах.
    Йон Снейдер "'еффективное использование тцп\ип"- потом почитай.
    и не забывй напоминать что любиш "Dire Straits" ;))
     
  7. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    probka
    Наконец-то прочитал твой первый пост до конца. Ну и манера изложения у вас - ничего понять с первого раза нельзя. Я совершенно не спец в программировании сокетов, но по опыту знаю, что при отсутствии коннекта многие проги "виснут" на 30 секунд и более и это не программа плохая, а Винды так устроены. Возможно и ты на это нарвался. Попробуй для начала паузу до 5 минут увеличить.
    Если коннект пройдет - тогда появится правильный вопрос.
     
  8. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    probkaчувак)) ты думаешь я вот с десяти лет слушаю DS и Нофлера в отдельности, мечтал и попал на его концерт,
    и у меня нет всех альбомов? )) спасибо, не надо..

    банили "за мат".

    выбора в портах типо bool там нету. смысел в том чтоб хватать accept,
    в нём брать сокет и closesocket() делать.

    для внедрения тебе нужна инфа по сплайсингу. гугли.
     
  9. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Comer_
    не врубаюсь, откуда внедрение?
    это же её код в сорсах ;)
    тебе только что-то подъинжектить дай :))
     
  10. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Comer_
    По-моему изначальная задачка простая была - никакого внедрения. А потом товарищ не решив проблему коннекта стал спрашивать про дальнейшие действия сервера, типа выполнение экзешек и т.п.
    Возможно, что потом он будет и сервер внедрять, но только долго ему придется учится, если будет так непонятно изъясняться и куски программы приводить, а не полный исходник.
     
  11. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    valterg
    да, наверное все мы тут поспешили.. хотя сплайсинг сложен только для понимания(ибо сначала надо понять объект "память"), а в реализации он прост..

    щас я скажу очень полезную вещЪ!
    почитай хотяб первые десять страниц из ASMINTRO.hlp(стандартный пакет masm'a)
    будет тебе просветление неплохое.
     
  12. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Все понял, спасибо, набрал еды, щас приступлю к поеданию. Вот что хочу еще спросить: "А компот ... ? ... ;(", то есть, устройство Винды. Если глядеть в Диспетчере задач, то там показываются процессы. Где можно посмотреть описание процессов, когда Винда просто включена, плюс есть процессы, который не отображаются. Конкретно, все потоки процессов. Винда разделена на блоки: сетевые утилиты, графика, системные утилиты и тд. Где глянуть про них?

    То есть помогите мне расчленить винду.

    Я еще от МЕТАЛИКИ торчу!
     
  13. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    описание процессов? яхз, может ты имеешь в виду структуру информации о процессе,
    или то, что показывает ProcessExplorer(там же и треды),
    если о тредах ты программно, то на самом деле можешь перечислить все треды
    CreateToolHelp32Snapshot--Thread32First--Thread32Next
    и делать с ними что надо.
    а в винде никакого разделения нету. всё что есть это PE. если бы было разделение по типу прог,
    то группу "трояны" бы давно исключили из состава винды))

    ну металлика это просто классика, но ничего в ней кроме hero of the day нету.. KISS хоть атмосферу имеет..
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    probka
    На самом деле на сайтах по безопасности есть краткое описание "полезных" процессов и сервисов.
    Иногда их "перепечатывают" на юзерских сайтах и даже переводят на русишь. Есть и русские сайты по безопасности.
     
  15. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Comer_, не скажи ... ты слушал их, когда они с симфоническим концертом Сан-Франциско выступали? Это полный фурор!!! Я чуть в штаны не наложил от переизбытка чувст! А BlackAlbom? А? Для меня, есть только одна рок-металлическая группа - !!!METALLICA!!! Ну еще мне SystemOfADaun препирает, только я слушаю не часто.

    Давайте разберемся, а то в книге Снейдера, фсе крутится во круг да около, конкретно:
    1. сокет - это набор из двух номеров. Порт и IP адрес.
    2. Порт - понятий виртуальное, на физическом уровне не существует. По смыслу - идентификатор очереди. Так?
    3. Существуют протоколы, которые также не существуют, даже програмно, потому что 100% протокол может существовать только на двух машинах сразу (клиентская часть и серверная).
    4. При работе с передачей инфы, требуется пользоваться функциями:
    Клиент.
    socket(int domain, int type, int protocol); - получение (инициализация) сокета.
    connect(SOCKET s, const struct sockaddr *peer, int peer_len); - установка соединения
    recv(SOCKET s, void *buf, size_t len, int flags); - чтение
    send(SOCKET s, const void *buf, size_t len, int flags); - отправка
    Сервер.
    bind(SOCKET s, const struct sockaddr *name, int namelen); - установка порта для чтения из него и адрес интерф.
    listen(SOCKET s, int backlog); - обозначение сокета для считывания из него
    accept(SOCKET s, struct sockaddr *addr, int *adrlen); - прием данных
    5. Инфа поступает ко мне в комп и достигает своей конечной точки. Через что эта инфа проходит и какие проги с ней работают и посредством чего.

    И я так и не понял, как мне закрыть порт ;((( ;((( ;((( чтоб другие проги не смогли ни чего прочитать вообще, без моего разрешения и отправить тем более -----//----- может shutdown(SOCKET s, int how)?
     
  16. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    1. сокет - это набор из двух номеров. Порт и IP адрес.
    бредишь
    3. Существуют протоколы, которые также не существуют, даже програмно, потому что 100% протокол может существовать только на двух машинах сразу (клиентская часть и серверная).
    и опять бредишь)

    Для меня, есть только одна рок-металлическая группа - !!!METALLICA!!!
    бинго! снова бредишЬ))
    есть множество великих вещей, о которых никто даже не слышал.
    в "публику" выходит много лишнего и пустого..
     
  17. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Comer_, а по остальным вопросам? И из чего же состоит сокет? Протокол, это упорядоченная в систему, передача. Передача может быть только между двумя объектами. Так? Прием-передача есть протокол. Один на два объекта. Я что-то не понимаю?

    для примера, назови, чтоб скачать и послушать.
     
  18. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    Есть возможность с локального компа получить список всех пользователей этой сети? 255 адресов?
     
  19. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    несовсем понял.. 255 адресов это 256 адресов подсети? типо 192.168.1.[0..255] ?
    вобще можно по netbiоs'у порыскать, если не сообразишь, я тебе могу исходник дать, я что то такое писал 1.5года назад..

    касательно электрозвука прошлого века это может быть кто угодно: Estatic Fear, Black Debbath, Buzz Poets, Joe Satriani, Poor Kids Without Cable, Amorphis, Жить, Melaton(уже семь лет ищу, ниадной их песни ненашёл .((( )..
    стили разные, ибо не знаю что тебя больше привлекает..
    ..хотя на металлику я таки летом пойду)
     
  20. probka

    probka New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    170
    вот здесь их клипец.
    http://www.youtube.com/watch?v=mWhmp8OQxFk&feature=related
    в гугле набери, сразу куча ссылок вылезает.

    Я так же ищу Valencia :) даже незнаю, как правильно пишется, лет наверно, уже 10 ищу :)

    Где будет? И когда?