ip开放端口扫描-本机开放端口扫描

hacker|
114

渗透测试之端口扫描

端口扫描:端口对应网络服务及应用端程序

服务端程序的漏洞通过端口攻入

发现开放的端口

更具体的攻击面

UDP端口扫描:

如果收到ICMP端口不可达,表示端口关闭

如果没有收到回包,则证明端口是开放的

和三层扫描IP刚好相反

Scapy端口开发扫描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP扫描:基于连接的协议

三次握手:基于正常的三次握手发现目标是否在线

隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,

僵尸扫描:不和目标系统产生交互,极为隐蔽

全连接扫描:建立完整的三次握手

所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态

隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽,网络层审计会被发现迹象

僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID

1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID

2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)

3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放

使用scapy发送数据包:首先开启三台虚拟机,

kali虚拟机:192.168.45.128

Linux虚拟机:192.168.45.129

windows虚拟机:192.168.45.132

发送SYN数据包:

通过抓包可以查看kali给linux发送syn数据包

linux虚拟机返回Kali虚拟机SYN+ACK数据包

kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接

也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改

如果向目标系统发送一个 随机端口:

通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,

2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束

使用python脚本去进行scapy扫描

nmap做隐蔽端口扫描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #扫描固定的端口

nmap -sS 192.168.45.129 -p 1-65535 --open  #扫描该IP地址下1-65535端口扫描,并只显示开放的端口

nmap -sS 192.168.45.129 -p --open  #参数--open表示只显示开放的端口

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap  -sS

hping3做隐蔽端口扫描:

hping3 192.168.45.129 --scan 80 -S  #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

参数-c表示发送数据包的数量

参数-S表示发送SYN数据包

--spoof:伪造源地址,后面接伪造的地址,

参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100

最后面跟的是目标IP

通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包

hping3和nmap扫描端口的区别:1,hping3结果清晰明了

  2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包

hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析

全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现

response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))

reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))

抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:

那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放

因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现

使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)

使用dmitry进行全连接端口扫描:

dmitry:功能简单,但功能简便

默认扫描150个最常用的端口

dmitry -p 192.168.45.129  #参数-p表示执行TCP端口扫描

dmitry -p 192.168.45.129 -o output  #参数-o表示把结果保存到一个文本文档中去

使用nc进行全连接端口扫描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示扫描1-100号端口

参数-n表示不对Ip地址进行域名解析,只把其当IP来处理

参数-v表示显示详细信息

参数-w表示超时时间

-z表示打开用于扫描的模式

portscan端口扫描器有什么用

扫描器是一款命令行下高速扫描利器,通过最新的瑞星杀毒软件测试。

命令: s.exe syn ip1 ip2 端口号 /save。

s.exe tcp ip1 ip2 端口号 线程数 /save。进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。

扩展资料:

按照端口号的大小分类,可分为如下几类:

(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。 

如何扫描某一计算机开放的所有端口?

扫描某一计算机开放的所有端口可在windows系统输入-netstat -an即可。

一、打开端口的步骤:

1、首先,打开电脑的控制面板,然后在控制面板中找到防火墙。

2、在防火墙设置左边选择点击高级设置。

3、高级安全设置中,我们点击选择左边的入站规则。

4、在右侧栏选择点击新建规则。

5、规则类型选择端口类型。

6、选择tcp协议,特定端口,端口自己规定,比如4444。

7、何时应用规则,默认全选。

8、退出之后,我们就看到创建的入站规则,该端口允许。

二、端口分类:

1、硬件端口

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。

其中硬件领域的端口又称接口,如:并行端口、串行端口等。

2、网络端口

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

3、软件端口

缓冲区。

怎么样扫描开放的端口?大神们帮帮忙

教你如何查看自己开放的端口!可以利用查看本机开放端口的方法来检查自己是否被种了木马或其它hacker程序。以下是详细方法介绍。1. Windows本身自带的netstat命令关于netstat命令,我们先来看看windows帮助文件中的介绍:Netstat显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]参数-a显示所有连接和侦听端口。服务器连接通常不显示。-e显示以太网统计。该参数可以与 -s 选项结合使用。-n以数字格式显示地址和端口号(而不是尝试查找名称)。-s显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。 -p protocol显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。-r显示路由表的内容。interval重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数:C:\netstat -anActive ConnectionsProto Local Address Foreign Address StateTCP 0.0.0.0:80 0.0.0.0:0 LISTENINGTCP 0.0.0.0:21 0.0.0.0:0 LISTENINGTCP 0.0.0.0:7626 0.0.0.0:0 LISTENINGUDP 0.0.0.0:445 0.0.0.0:0 UDP 0.0.0.0:1046 0.0.0.0:0 UDP 0.0.0.0:1047 0.0.0.0:0解释一下,Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称,Local Address是本地计算机的 IP 地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的 IP 地址和端口号,State则是表明TCP 连接的状态,你可以看到后面三行的监听端口是UDP协议的,所以没有State表示的状态。看!我的机器的7626端口已经开放,正在监听等待连接,像这样的情况极有可能是已经感染了冰河!急忙断开网络,用杀毒软件查杀病毒是正确的做法。2.工作在windows2000下的命令行工具fport使用windows2000的朋友要比使用windows9X的幸运一些,因为可以使用fport这个程序来显示本机开放端口与进程的对应关系。Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息的软件。在命令行下使用,请看例子:D:\fport.exeFPort v1.33 - TCP/IP Process to Port MapperCopyright 2000 by Foundstone, Inc. Pid Process Port Proto Path748 tcpsvcs - 7 TCP C:\WINNT\System32\ tcpsvcs.exe748 tcpsvcs - 9 TCP C:\WINNT\System32\tcpsvcs.exe748 tcpsvcs - 19 TCP C:\WINNT\System32\tcpsvcs.exe416 svchost - 135 TCP C:\WINNT\system32\svchost.exe是不是一目了然了。这下,各个端口究竟是什么程序打开的就都在你眼皮底下了。如果发现有某个可疑程序打开了某个可疑端口,可千万不要大意哦,也许那就是一只狡猾的木马!Fport的最新版本是2.0。在很多网站都提供下载,但是为了安全起见,当然最好还是到它的老家去下: 3.与Fport功能类似的图形化界面工具Active PortsActive Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口,不但可以将你所有的端口显示出来,还显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。更棒的是,它还提供了一个关闭端口的功能,在你用它发现木马开放的端口时,可以立即将端口关闭。这个软件工作在Windows NT/2000/XP平台下。你可以在 得到它。其实使用windows xp的用户无须借助其它软件即可以得到端口与进程的对应关系,因为windows xp所带的netstat命令比以前的版本多了一个O参数,使用这个参数就可以得出端口与进程的对应来。上面介绍了几种查看本机开放端口,以及端口和进程对应关系的方法,通过这些方法可以轻松的发现基于TCP/UDP协议的木马,希望能给你的爱机带来帮助。但是对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以我们一定要养成良好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件,像国内的瑞星就是个查杀病毒和木马的好帮手。从网上下载的软件先用杀毒软件检查一遍再使用,在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被可恨的木马入侵。

如何扫描某一计算机开放的所有端口

在命令提示符中输入netstat -an可以扫描某一计算机开放的所有端口,具体步骤如下:

工具/材料:电脑

1、打开电脑,右键单击左下角开始,然后点击运行。

2、在运行的输入框里面输入cmd,然后点击确定。

3、在弹出的cmd.exe中输入netstat -an,然后敲击回车,这样就可以看到这个计算机所有开放的端口了。

0条大神的评论

发表评论