端口扫描程序的设计与实现-tcp端口扫描课程设计

hacker|
244

7、全连接扫描和半开连接扫描的区别是什么?其优缺点分别是什么?还有什么其它的扫描技术?

全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect()扫描和TCP反向ident扫描等。其中TCP connect()扫描的实现原理如下所述:

扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1则表示端口关闭。建立连接成功:响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。如果目标端口处于关闭状态,则目标主机会向扫描主机发送RST的响应。

若端口扫描没有完成一个完整的TCP连接,在扫描主机和目标主机的一指定端口建立连接时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。现有的半连接扫描有TCPSYN扫描和IP ID头dumb扫描等。

SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

端口扫描的原理

端口扫描的基本原理就是依次与每一个可能存在的主机尝试建立连接。如果对方有回复就说明这个主机存在且端口开放。

连接的方式有:标准TCP连接(三次握手),但这种连接方式很容易被目标主机发现;直接用SYN包试探(看目标主机是不是回SYN=1、ACK=1,一旦试探到要马上用RST拒绝连接);直接用FIN包试探(看目标主机是不是回RST包);代理扫描。

怎么样制作80端口扫描器,批处理那种的。谢谢~

@echo off

setlocal enabledelayedexpansion

title 端口扫描器 by 风旋碧浪

color 4fMODE con: COLS=50 LINES=12

echo.echo 开始扫描,需要时间,请稍候……

(echo.echo 端口号 进程名称

echo.echo TCP协议: )端口查看.txt

echo.echo 正在扫描TCP协议……

for /f "skip=4 tokens=2,5" %%a in ('netstat -ano -p TCP') do (

for /f "tokens=2 delims=:" %%A in ("%%a") do set TCP端口=%%A

for /f "skip=2 delims=, tokens=1" %%A in ('tasklist /fi "PID eq %%b" /FO CSV') do set TCP进程=%%~A

echo !TCP端口! !TCP进程!端口查看.txt

)

echo UDP协议: 端口查看.txt

echo.echo 正在扫描UDP协议……

for /f "skip=4 tokens=2,4" %%a in ('netstat -ano -p UDP') do (

for /f "tokens=2 delims=:" %%A in ("%%a") do set UDP端口=%%A

for /f "skip=2 delims=, tokens=1" %%A in ('tasklist /fi "PID eq %%b" /FO CSV') do set UDP进程=%%~A

echo !UDP端口! !UDP进程!端口查看.txt

)

echo.echo.echo 扫描结束!请查看《端口查看.txt》文件!

pausenul

如何使用nmap对目标主机进行TCP SYN秘密端口扫描

SYN端口扫描用可以用nmap的-sS参数(一个小写的S和一个大写的S),-p参数指定端口号。

0条大神的评论

发表评论