| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Помогите. Я не врубаюсь вроде все делаю правельно, но эта прога не правельно работает/ Я хочу сделать свой сервер в linux что бы удаленно можно было получать полный доступ к моему компу. Но где то что то какой то не дачет. Help me please
Мой Исходник #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdio.h> #define PORT 7777 int main() { int s; int rc; char buffer[255]; struct sockaddr_in addr; bzero(&addr,sizeof(addr)); s=socket(PF_INET,SOCK_STREAM,0); addr.sin_family=PF_INET; addr.sin_port=htons(PORT); addr.sin_addr.s_addr=INADDR_ANY; if(bind(s,(struct sockaddr*)&addr,sizeof(addr))!=0) perror("Error Bind\n"); if(listen(s,20)!=0) perror("Error Listen"); for(; ![]() { int cl; struct sockaddr_in client; int size; size=sizeof(client); cl=accept(s,(struct sockaddr*)&client,&size); bzero(&client,sizeof(client)); if(cl<0)perror("Error Accept"); else { if(fork()>0) { close(cl); } else if(fork()==0) { while(1) { bzero(buffer,sizeof(buffer)); rc=recv(cl,buffer,255,0); printf("%s",buffer); if(rc>0)break; } dup2(cl,0); dup2(cl,1); dup2(cl,2); execl("/bin/sh","/bin/sh","-c",buffer,0); } else perror("Error fork"); } } return 0; } ![]() После запуска этой программы она слушает пор т 7777, ну впрочем как все стандартные серваки. После того как к ней кто то подключился любым сособом (самый распрастраненый telnet IP 7777). Она должна давать клиенту полный shell доступ с провами root, но когда клиент вводит команду, то вот этот мой долбанный сервер выдает ошибку что такой команды не существует. Последний раз редактировалось Cash; 22.07.2004 в 02:19. |
|
|
# 3 |
|
Guest
Сообщения: n/a
|
#include <sys/socket.h>
#include <sys/types.h> #include <stdio.h> int main() { int s; int sec; struct sockaddr_in addr; s=socket(PF_INET,SOCK_STREAM,0); addr.sin_family=PF_INET; addr.sin_addr.s_addr=inet_addr("127.0.0.1"); for(sec=0;sec<65000;sec++) { addr.sin_port=htons(sec); if(connect(s,(struct sockaddr*)&addr,sizeof(addr))==0) printf("Open Port: %d\n",sec); else printf("Close Port: ",sec); } return 0; } Сканер портов методом connect(). На данный момент очень удобен в приминении! Последний раз редактировалось Cash; 22.07.2004 в 02:14. |
|
|
# 7 |
|
Guest
Сообщения: n/a
|
Drakosha
ну, например, вот - http://www.samag.ru/ru/articles/last...cle/scaner.txt . На самом деле, вопрос очень больной - и избитый. Сканера(точнее, метода сканирования) быстрого, и не обнаружаемого IDS, нету... Если еще материал нужен - в пм напиши, выложу завтра. |
|
|
# 10 |
|
Guest
Сообщения: n/a
|
Я полностью с тобой согласен.
Но если тебе например нужны какие нибудь определенные порты. То лучше использовать connect(). Короче я считаю connect - это качество Все остальное - это скорость. Кстати я сканирую компы постоянно конектом. В принципе я доволен. Скорость сканирования на секунд 5 меньше того же самого nmap. |