端口扫描介绍(二)——实例

隐蔽端口扫描:


Syn————syn/ack————rst
借用Scapy给目标发送一个syn包,目标回一个syn/ack包,我们不回syn包确认,回一个RST包跟目标机器断开握手,但是操作系统内核它由于不识别我们这个包,内核会自动回一个RST包断开握手。(这是操作系统替我们完成了。)
//操作系统会回一个RST表示断开连接,不进行三次握手

实例操作:

Scapy工具举例:
  

a=sr1(IP(dst="192.168.1.1")/TCP(flags="S",dport=22),timeout=1,verbose=0)


    //操作系统会回一个RST表示断开连接,不进行三次握手

a=srl(IP(dst="192.168.1.1")/TCP(dport=80),timeout=1,verbose=1)


  ./syn_scan.py
脚本:
=======================

#!/usr/bin/python
import logging
logging.getlogging("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*
import sys

if len(sys.argv)!=4
print "Usage - ./syn_scan.py [Target.IP] [First Port] [Last Port]"
print "Example - ./Syn_scan.py 1.1.1.1 100"
print "Example will TCP SYN scan ports 1 through 100 on 1.1.1.1"
sys.exit()

ip=sys.argv[1]
start=int(sys.argv[2])
end=int(sys.argv[3])

for port in range(start,end)
a=sr1(IP(dst="ip")/TCP(dport=port),timeout=1,verbose=0)
if a==None;
pass
else:
if int(a[TCP].flags)==18
print port
else
pass


=======================


隐蔽端口扫描实例:Nmap、hping3

如:
nmap -sS 1.1.1.1 -p 80,21,25,110,443
nmap -sS 1.1.1.1 -p1-65535 --open
nmap -sS 1.1.1.1 -p- --open
nmap -sS -iL iplist.txt -p 80,21,22,23
如:
hping3
hping3 1.1.1.1 --scan 80 -S
hping3 1.1.1.1 --scan 80,21,25,445 -S
hping3 1.1.1.1 --scan 0-65535 -S
hping3 -c 10 -S --spoof 1.1.1.2 -p ++1 1.1.1.3  //spoof后面加欺骗IP地址(假IP),-p接目标IP        ----当然回包也给了假IP     


想要知道结果,只能有权登录假IP的电脑,在上面抓包(肉鸡)——————————或者控制网关,镜像流量也可以查看
》》》》》》弊端是这个,优点就是隐蔽


全连接端口扫描———>虽然判断准确,但是不隐蔽。全分全的三次握手


Scapy:
1、syn扫描不需要raw packets
2、内核认为syn/ack是非法包,直接发rst中断连接
3、全连接扫描对scapy比较困难

例:
sr1(IP(dst="1.1.1.1")/TCP(dport=22,flags='S'))


./tcp_scan1.py
==============

#!/usr/bin/python
import logging
logging.getlogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*

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


==============./tcp_scan2.py
===============

#!/usr/bin/python
import logging
logging.getlogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*

SYN=IP(dst="1.1.1.1")/TCP(dport=444,flags='S')

print "--   SENT  --"
SYN.display()

print "\n\n--  RECEIVED  --"
response=sr1(SYN.timeout=1,verbose=0)
response.display()

if int(response(TCP).flags)==18;
print "\n\n--  SENT  --"
A=IP(dst="1.1.1.1")/TCP(dport=444,flags='A',ack=(response[TCP].seq+1))
A.display()
print "\n\n-- RECEIVED  --"
response2=sr1(A.timeout=1,verbose=0)
response2.display()
else
print "SYN.ACK not returned"

===============

iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 1.1.1.1 -j DROP //建立三次握手

iptables -L //查看规则

 

全连接扫描——————nmap

nmap -sT 1.1.1.1 -p 80
nmap -sT 1.1.1.1 -p 80,21,25
nmap -sT 1.1.1.1 -p 80-2000
nmap -sT -iLiplist.txt -p 80
默认1000个常用端口


全连接端口扫描————dmitry

dmitry    -p    1.1.1.1
dmitry -p  1.1.1.1 -o output
#功能简单,但使用简便
#默认150个最常用的端口

全连接端口扫描

nc -nv -w 1 -z 1.1.1.1 1-100       //-nv详细内容+跟IP地址不做域名解析,-w超时时间
//不是说端口显示什么服务就是什么服务,这些服务我们可以自己去该
for x in $(seq 20 30);do nc -nv -w 1 -z 1.1.1.1 $x;done | grep open
for x in $(seq 1 254);do nc -nv -w 1 -z 1.1.1.$x 80;done

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeromeyoung666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值