LINUX.ORG.RU

убить TCP соединение


0

0

Хай, пипель! Есть сервер, при открытии соединений он не форкается. Нужно убить, ну например, одно из ста TCP соединение в состоянии ESTABLISHED внешними средствам. Ядро Linux - 2.4.x. Вопрос как?

★★

Re:

Единственный способ, который приходит на ум - открываешь процесс в режиме отладки (PTRACE_ATTACH), делаешь на нем wait, когда он остановится - пишешь по адресу EIP код закрытия нужного fd (int $0x80: 0xcd 0x80), устанавливаешь через PTRACE_SETREGS (eax=__NR_close, ebx=fd), устанавливаешь PTRACE_SYSCALL, ждешь последовательного входа и выхода в sys_close, по выходу восстанавливаешь исходный код на месте 0xcd,0x80 и оригинальные регистры. Вроде всё.

Murr ★★
()
Ответ на: комментарий от lg

Да это понятно, просто чот зацепил меня этот вопрос :)

PETER ★★
() автор топика
Ответ на: Re: от Murr

Жаль что только в режиме отладки, все равно спасибо

PETER ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.