精华内容
下载资源
问答
  • 自用端口扫描工具

    2019-05-13 13:01:00
    这是一个根据IP起始段+端口号的扫描工具,速度感觉还挺快的。 可以快速查看局域网里面哪些主机打开了某端口或某些端口。 在论坛里面搜索了一下,发现没有人发这个工具。 第一次发帖,如违规请多担待。 你也...
  • Linux命令之nmap端口扫描工具

    千次阅读 2019-12-18 14:36:49
    Linux命令之nmap端口扫描工具 介绍 https://nmap.org/man/zh/ Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。 它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也...

    Linux命令之nmap端口扫描工具

    介绍

    https://nmap.org/man/zh/
    Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。
    它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。
    Nmap以新颖的方式使用原始IP报文:

    • 来发现网络上有哪些主机
    • 那些主机提供什么服务(应用程序名和版本)
    • 那些服务运行在什么操作系统(包括版本信息)
    • 它们使用什么类型的报文过滤器/防火墙
    • 以及一堆其它功能

    虽然Nmap通常用于安全审核, 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息, 管理服务升级计划,以及监视主机和服务的运行。
    Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。 “所感兴趣的端口表格”是其中的关键。那张表列出端口号,协议,服务名称和状态。
    nmap的状态有4种
    可能是 open(开放的),filtered(被过滤的), closed(关闭的),或者unfiltered(未被过滤的)。

    • Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。
    • filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知 它是 open(开放的) 还是 closed(关闭的)。
    • closed(关闭的) 端口没有应用程序在它上面监听,但是他们随时可能开放。
    • unfiltered(未被过滤的)端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放。

    如果Nmap报告状态组合 open|filtered 和 closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。

    当要求进行版本探测时,端口表也可以包含软件的版本信息。
    当要求进行IP协议扫描时 (-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。
    除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。

    安装nmap

    yum install -y nmap
    

    nmap帮助

    [root@localhost ~]# nmap -h
    
    == TARGET SPECIFICATION 目标说明
    可用: 主机名, Ipv4, IPv6, CIDR, 八位字节范围, etc.
    Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
    -iL <inputfilename>: Input from list of hosts/networks //从<文件>列表中读取目标
    -iR <num hosts>: Choose random targets //随机选择目标
    --exclude <host1[,host2][,host3],...>: Exclude hosts/networks //排除主机/网络
    --excludefile <exclude_file>: Exclude list from file //排除<文件>中的列表
    == HOST DISCOVERY 主机发现
    -sL: List Scan - simply list targets to scan //列表扫描,仅列出网络上的主机,不发送任何报文。
    -sn: Ping Scan - disable port scan //ping,不扫描端口。
    -Pn: Treat all hosts as online -- skip host discovery
    -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
    -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
    -PO[protocol list]: IP Protocol Ping
    -n/-R: Never do DNS resolution/Always resolve [default: sometimes] //不用域名解析
    --dns-servers <serv1[,serv2],...>: Specify custom DNS servers
    --system-dns: Use OS's DNS resolver //使用系统域名解析器
    --traceroute: Trace hop path to each host
    == SCAN TECHNIQUES[https://nmap.org/man/zh/man-port-scanning-techniques.html](https://nmap.org/man/zh/man-port-scanning-techniques.html)
    -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
    -sU: UDP Scan
    -sN/sF/sX: TCP Null, FIN, and Xmas scans
    --scanflags <flags>: Customize TCP scan flags //定制的TCP扫描
    -sI <zombie host[:probeport]>: Idle scan //[https://nmap.org/book/idlescan.html](https://nmap.org/book/idlescan.html)
    -sY/sZ: SCTP INIT/COOKIE-ECHO scans
    -sO: IP protocol scan //IP协议扫描
    -b <FTP relay host>: FTP bounce scan //FTP弹跳扫描
    == PORT SPECIFICATION AND SCAN ORDER //端口说明和扫描顺序
    -p <port ranges>: Only scan specified ports //只扫描指定端口
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    --exclude-ports <port ranges>: Exclude the specified ports from scanning
    -F: Fast mode - Scan fewer ports than the default scan //快速扫描:nmap-services约1200个
    -r: Scan ports consecutively - don't randomize //不要按随机顺序扫描端口
    --top-ports <number>: Scan <number> most common ports
    --port-ratio <ratio>: Scan ports more common than <ratio>
    == SERVICE/VERSION DETECTION 服务和版本探测
    nmap-service-probes 数据库包含查询不同服务的探测报文 和解析识别响应的匹配表达式。
    -sV: Probe open ports to determine service/version info //版本探测(-A的一部分)
    --version-intensity <level>: Set from 0 (light) to 9 (try all probes) //设置版本扫描强度,默认7
    --version-light: Limit to most likely probes (intensity 2) //轻量级模式
    --version-all: Try every single probe (intensity 9) //尝试每个探测
    --version-trace: Show detailed version scan activity (for debugging) //跟踪版本扫描活动,--packet-trace的子集
    == SCRIPT SCAN
    -sC: equivalent to --script=default
    --script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories
    --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts
    --script-args-file=filename: provide NSE script args in a file
    --script-trace: Show all data sent and received
    --script-updatedb: Update the script database.
    --script-help=<Lua scripts>: Show help about scripts.
    <Lua scripts> is a comma-separated list of script-files or script-categories.
    == OS DETECTION 操作系统探测
    -O: Enable OS detection //启用操作系统检测(-A的一部分)
    --osscan-limit: Limit OS detection to promising targets //针对指定的目标进行操作系统检测
    --osscan-guess: Guess OS more aggressively //推测操作系统检测结果
    == TIMING AND PERFORMANCE 时间和性能
    改善扫描时间的技术有:忽略非关键的检测。优化时间参数也会带来实质性的变化,这些参数如下。
    Options which take <time> are in seconds, or append 'ms' (milliseconds),
    's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
    -T<0-5>: Set timing template (higher is faster) //设置时间模板,T4 可以加快执行速度
      paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。
    
    - -T0: paranoid (0)模式用于IDS躲避,在一个时间只能扫描一个端口, 每个探测报文的发送间隔为5分钟。
    - -T1: sneaky (1) 模式用于IDS躲避,T1和T2选项比较类似, 探测报文间隔分别为15秒和0.4秒。
    - -T2: Polite (2) 模式降低了扫描 速度以使用更少的带宽和目标主机资源。
    - -T3: Normal (3) (默认模式),因此-T3 实际上是未做任何优化。包含了并行扫描。
    - -T4: Aggressive (4) 模式假设用户具有合适及可靠的网络从而加速 扫描。最大TCP扫描延迟为10ms。
    - -T5: Insane (5) 模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。最大延迟为5ms。
    
      T4选项与 --max-rtt-timeout 1250 --initial-rtt-timeout 500 等价,
      T5等价于 --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,
    --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes //调整并行扫描组大小
    --min-parallelism/max-parallelism <numprobes>: Probe parallelization //调整探测报文的并行度
    --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies probe round trip time.
    --max-retries <tries>: Caps number of port scan probe retransmissions.
    --host-timeout <time>: Give up on target after this long //放弃低速目标主机
    --scan-delay/--max-scan-delay <time>: Adjust delay between probes //调整探测报文的时间间隔
    --min-rate <number>: Send packets no slower than <number> per second
    --max-rate <number>: Send packets no faster than <number> per second
    == FIREWALL/IDS EVASION AND SPOOFING 防火墙/IDS躲避和哄骗
    -f; --mtu <val>: fragment packets (optionally w/given MTU) //报文分段,--mtu,使用指定MTU
    -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys //使用诱饵隐蔽扫描
    -S <IP_Address>: Spoof source address //源地址哄骗
    -e <iface>: Use specified interface //使用指定的接口
    -g/--source-port <portnum>: Use given port number
    --proxies <url1,[url2],...>: Relay connections through HTTP/SOCKS4 proxies
    --data <hex string>: Append a custom payload to sent packets
    --data-string <string>: Append a custom ASCII string to sent packets
    --data-length <num>: Append random data to sent packets //发送报文时,附加随机数据
    --ip-options <options>: Send packets with specified ip options
    --ttl <val>: Set IP time-to-live field //设置IP time-to-live域
    --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address //MAC地址哄骗
    --badsum: Send packets with a bogus TCP/UDP/SCTP checksum
    == OUTPUT 输出
    -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename. //oN,标准输出; oX,XML输出; oS,脚本输出; oG,Grep输出
    -oA <basename>: Output in the three major formats at once //标准.nmap, .xml, .gnamp文件中
    -v: Increase verbosity level (use -vv or more for greater effect) //更详细信息,
    -d: Increase debugging level (use -dd or more for greater effect) //提高或设置调试级别
    --reason: Display the reason a port is in a particular state
    --open: Only show open (or possibly open) ports
    --packet-trace: Show all packets sent and received //跟踪发送和接收的报文
    --iflist: Print host interfaces and routes (for debugging) //列举接口和路由
    --append-output: Append to rather than clobber specified output files //在输出文件中添加
    --resume <filename>: Resume an aborted scan //继续中断的扫描
    --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML //设置XSL样式
    --webxml: Reference stylesheet from Nmap.Org for more portable XML
    --no-stylesheet: Prevent associating of XSL stylesheet w/XML output //忽略XML声明的XSL样式
    == MISC 杂项
    -6: Enable IPv6 scanning //启用IPv6扫描
    -A: Enable OS detection, version detection, script scanning, and traceroute //激烈扫描模式选项
    --datadir <dirname>: Specify custom Nmap data file location //说明用户Nmap数据文件位置
    --send-eth/--send-ip: Send using raw ethernet frames or IP packets //使用原以太网帧发送或IP包
    --privileged: Assume that the user is fully privileged //假定用户具有全部权限
    --unprivileged: Assume the user lacks raw socket privileges
    -V: Print version number
    -h: Print this help summary page.
    == EXAMPLES 示例
    nmap -v -A scanme.nmap.org:
    这个选项扫描主机scanme.nmap.org中 所有的保留TCP端口。选项-v启用细节模式。
    [root@localhost ~]# nmap -v -A scanme.nmap.org
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 16:29 CST
    NSE: Loaded 110 scripts for scanning.
    NSE: Script Pre-scanning.
    Initiating Ping Scan at 16:29
    Scanning scanme.nmap.org (45.33.32.156) [4 ports]
    Completed Ping Scan at 16:29, 0.16s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 16:29
    Completed Parallel DNS resolution of 1 host. at 16:29, 0.19s elapsed
    Initiating SYN Stealth Scan at 16:29
    Scanning scanme.nmap.org (45.33.32.156) [1000 ports]
    Discovered open port 80/tcp on 45.33.32.156
    Discovered open port 22/tcp on 45.33.32.156
    Discovered open port 9929/tcp on 45.33.32.156
    
    nmap -v -sn 192.168.0.0/16 10.0.0.0/8:
    nmap -v -iR 10000 -Pn -p 80:
    SEE THE MAN PAGE: [nmap.org/book/man.html](https://www.cnblogs.com/sztom/p/nmap.org/book/man.html)
    

    npam实例

    1.nmap localhost #查看主机当前开放的端口

    [root@localhost ~]# nmap localhost
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 16:41 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000050s latency).
    Other addresses for localhost (not scanned): 127.0.0.1
    rDNS record for 127.0.0.1: VM_0_3_centos
    Not shown: 999 closed ports
    PORT   STATE SERVICE
    81/tcp open  hosts2-ns
    Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
    

    2.-vv详细输出

    [root@localhost ~]# nmap -vv 192.168.59.128
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 04:13 EST
    Initiating ARP Ping Scan at 04:13
    Scanning 192.168.59.128 [1 port]
    Completed ARP Ping Scan at 04:13, 0.00s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 04:13
    Completed Parallel DNS resolution of 1 host. at 04:13, 0.00s elapsed
    Initiating SYN Stealth Scan at 04:13
    Scanning 192.168.59.128 [1000 ports]
    Discovered open port 22/tcp on 192.168.59.128
    Discovered open port 111/tcp on 192.168.59.128
    Discovered open port 9002/tcp on 192.168.59.128
    Discovered open port 6000/tcp on 192.168.59.128
    Discovered open port 5432/tcp on 192.168.59.128
    Completed SYN Stealth Scan at 04:13, 0.03s elapsed (1000 total ports)
    Nmap scan report for 192.168.59.128
    Host is up (0.00011s latency).
    Scanned at 2019-12-17 04:13:46 EST for 0s
    Not shown: 995 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    111/tcp  open  rpcbind
    5432/tcp open  postgresql
    6000/tcp open  X11
    9002/tcp open  dynamid
    MAC Address: 00:0C:29:F1:DD:9C (VMware)
    Read data files from: /usr/bin/../share/nmap
    Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
              Raw packets sent: 1001 (44.028KB) | Rcvd: 1001 (40.048KB)
    

    3.nmap -p 1024-65535 localhost #查看主机端口(1024-65535)中开放的端口

    [root@localhost ~]# nmap -p 1024-65535 localhost
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 16:42 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000060s latency).
    Other addresses for localhost (not scanned): 127.0.0.1
    rDNS record for 127.0.0.1: VM_0_3_centos
    Not shown: 64511 closed ports
    PORT     STATE SERVICE
    7011/tcp open  unknown
    Nmap done: 1 IP address (1 host up) scanned in 0.86 seconds
    

    4.nmap -PS 192.168.59.130 #探测目标主机开放的端口

    [root@localhost ~]# nmap -PS 192.168.59.130
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 03:56 EST
    Nmap scan report for localhost (192.168.59.130)
    Host is up (0.0000020s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    25/tcp   open  smtp
    9090/tcp open  zeus-admin
    Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
    

    5.nmap -p22,80,3306 192.168.59.128 #探测所列出的目标主机端口

    [root@localhost ~]# nmap -p22,80,3306  192.168.59.128
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 04:11 EST
    Nmap scan report for 192.168.59.128
    Host is up (0.00036s latency).
    PORT     STATE  SERVICE
    22/tcp   open   ssh
    80/tcp   closed http
    3306/tcp closed mysql
    MAC Address: 00:0C:29:F1:DD:9C (VMware)
    Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
    

    6.nmap -O 192.168.59.130 #探测目标主机操作系统类型 (-O 是-A的一部分)

    [root@localhost ~]# nmap -O 192.168.59.130
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 04:14 EST
    Nmap scan report for localhost (192.168.59.130)
    Host is up (0.000023s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    25/tcp   open  smtp
    9090/tcp open  zeus-admin
    Device type: general purpose
    Running: Linux 3.X
    OS CPE: cpe:/o:linux:linux_kernel:3
    OS details: Linux 3.7 - 3.9
    Network Distance: 0 hops
    OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 1.49 seconds
    

    7.nmap -sP 192.168.59.130 #探测目标主机在线状况(ping检测)

    [root@localhost ~]# nmap -sP 192.168.59.130
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 04:19 EST
    Nmap scan report for localhost (192.168.59.130)
    Host is up.
    Nmap done: 1 IP address (1 host up) scanned in 0.00 seconds
    

    8.nmap -sV -O localhost #探测目标主机操作系统类型、端口服务名称、版本信息

    [root@localhost ~]# nmap -sV -O localhost
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 17:21 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000048s latency).
    Other addresses for localhost (not scanned): 127.0.0.1
    rDNS record for 127.0.0.1: VM_0_3_centos
    Not shown: 999 closed ports
    PORT   STATE SERVICE VERSION
    81/tcp open  http    nginx 1.16.1
    Device type: general purpose
    Running: Linux 3.X
    OS CPE: cpe:/o:linux:linux_kernel:3
    OS details: Linux 3.7 - 3.9
    Network Distance: 0 hops
    OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 7.72 seconds
    

    9.路由跟踪

    nmap -traceroute <target ip>
    [root@localhost ~]# nmap -traceroute 192.168.59.128
    Starting Nmap 6.40 ( http://nmap.org ) at 2019-12-17 04:24 EST
    Nmap scan report for 192.168.59.128
    Host is up (0.000074s latency).
    Not shown: 995 closed ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    111/tcp  open  rpcbind
    5432/tcp open  postgresql
    6000/tcp open  X11
    9002/tcp open  dynamid
    MAC Address: 00:0C:29:F1:DD:9C (VMware)
    TRACEROUTE
    HOP RTT     ADDRESS
    1   0.07 ms 192.168.59.128
    Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
    

    常见服务端口

    服务 端口号
    HTTP 80
    HTTPS 443
    Telnet 23
    FTP 21
    SSH(安全登录)、SCP(文件传输)、端口重定向 22
    SMTP 25
    POP3 110
    WebLogic 7001
    TOMCAT 8080
    WIN2003远程登录 3389
    Oracle数据库 1521
    MS SQL* SEVER数据库sever 1433
    MySQL 数据库sever 3306
    nmap –T4 –A –v
    

    其中-A选项用于使用进攻性(Aggressive)方式扫描;-T4指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;-v表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。

    展开全文
  • Qt编写端口扫描工具

    千次阅读 2013-08-29 13:37:28
    利用这一功能,Maixee编写了一个简单地端口扫描工具。软件的功能就是,扫描某一网段的固定端口,如80端口,若目的地址开放了这一端口,那么连接就能建立。通过waitForConnected() 方法,我们就能得知是否连接成功,...

    Qt提供了QTcpSocket类,可以方便地建立TCP连接。利用这一功能,Maxiee编写了一个简单地端口扫描工具。

    软件的功能就是,扫描某一网段的固定端口,如80端口,若目的地址开放了这一端口,那么连接就能建立。

    通过waitForConnected() 方法,我们就能得知是否连接成功,若成功,我们在输出中加以标记。

    Maixee利用这个软件,扫了一下校园网里都有哪些网站(PS:学校的导航做的太简单了,好多好网站上了这么多年学都不知道哎%>_<%),效果如下:

    程序很简单,界面Maxiee也省去了,代码如下:

    #include "widget.h"
    #include <QApplication>
    #include <QTcpSocket>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        //Widget w;
        //w.show();
        QTcpSocket socket(0);
        QString ip("202.119.47.");
        for(int i=1;i<256;i++)
        {
            qDebug()<<"now"<<i;
            socket.abort();
            QString nIp = ip;
            nIp.append(QString::number(i));
            socket.connectToHost(nIp,80);
            if(socket.waitForConnected(1000))
                qDebug()<<nIp<<"connected!";
        }
        //return a.exec();
        return 0;
    }

    希望能对学习Qt网络编程的朋友有所帮助哈O(∩_∩)O~~

    源程序下载


    展开全文
  • 1 年前我讲了链路层arp协议的工作原理,并写了一个主机存活扫描和arp欺骗的脚本工具,在渗透测试...从而根据相应的端口得到相应的服务,从而进行爆破,漏洞利用等等,所以这次我打算讲一讲一些端口扫描工具的原理,...

    1

    年前我讲了链路层arp协议的工作原理,并写了一个主机存活扫描和arp欺骗的脚本工具,在渗透测试中我们首先要做的就是信息收集,可以说信息收集占渗透测试的一大部分,当我们知道有哪些存活的主机的情况下,我们下一步要做的就是查看存活的主机开放了哪些端口,从而根据相应的端口得到相应的服务,从而进行爆破,漏洞利用等等,所以这次我打算讲一讲一些端口扫描工具的原理,内容主要为网络层IP协议和传输层TCP协议,本期内容为包括: 

    •IP协议的作用; 

    •IP报文的组成; 

    •子网掩码; 

    •IP选路; 

    •tcp协议的作用; 

    •tcp报文的组成; 

    •关于tcp的SYN,FIN,NULL,XAMS端口扫描的原理,并在最后展示一个自己写的简单的包含这几种扫描的工具。

    而本节内容主要讲解前四部分内容及IP协议基础并不涉及python。
    好了,现在开始我们的讲解吧!

    一,IP协议作用:

    简单的说arp协议使数据包能够抵达下一站点(请看我上一期讲解);IP协议则是规定数据包的起点和终点,它是TCP/IP协议中最重要的一层,它存在的目的就是为了使数据快速的抵达目标机,当传输途中出现错误时就返回ICMP包,而数据包的可靠性则有上层协议如TCP提供。

    二,IP报文格式:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    1.通常为4-->ipv4 
    2.以32位为一个单位,8位是一个字节,32位就是四个字节,表示这个ip头部有多少个4字节组成,比如说一个20个字节的ip头部的话,那么这个字段的值就是5,这个字段最大值是15,于是ip头部最大字节就是4*15=60个字节 
    3.以前是tos,现在被dscp(划分服务类型)和ecn代替,前五位是dscp默认为0,后两位为ecn,最后一位是比为保持为0 
    4.以字节为单位,总长度就是头部加数据,因为是16位,所以ip数据包最大为65535个字节,一般不会有这么大的单个数据包,数据包大了,会被分片,在真实数据中不包括链路层的头部的数据 
    5.唯一标识主机发出的数据包,主机每发出一个数据包这个值就会加一,这个一般用在ip分片上面 
    6.用在ip分片上面 
    7.用在ip分片上面 
    8.指定数据包最多可以经过的路由,当一个数据包经过一个路由的时候,这个值就会减一,当这个值为0的时候,这个数据包就会丢弃,并且发送一个icmp包到原主机,ttl初始值一般有原主机设定,一一般为32或者64 
    9.指上层协议,tcp为6,udp位17 
    10.只会校验ip首部,不会校验后面数据,如果校验出错就会丢弃数据包,这个数据包丢弃后是不会发送一个icmp包到原主机,需要由上层去发现,ip协议不管这些,填充数据时一般设置为0。至于校验和的计算我这里就不详诉了,这里给出一个讲解非常详细的文章链接 
    11.源ip地址 
    12.目的ip地址 
    13.可变长度的字段,记录一些可选信息,比如:记录路劲,宽松或者严格的选路。不是所有字段都支持这个字段 
    下面是我随便抓的一个UDP包里的IP报文,大家可以对照上面字段进行研究。
    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    三、子网掩码:

    世界上有这么多计算机和IP地址,那么一个数据包又是如何准确的抵达它要到的地址呢?其实它的运输与现实生活中的快递运行方式相似,假设你的小区有A,B,C,D座楼,每座楼的每间房都有编号,例如401,402。那么你在A座的402完整编号就是A-402,当一个快递就可以根据A-402,送到A座的402而不是B座的402。而路由转发的原理就类似,一个IP地址根据子网掩码分为“网络号”和“主机号”,例如:192.168.1.101子网掩码为255.255.255.0,那么它就可以看成192.168.1.0座-192.168.1.101,此时数据就能知道送往那个主机了。

    四、IP选路:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    本机发送一个数据包到目标机的选路过程: 
    •首先经过路由器,路由器查看自己的路由表,看是否有能匹配到数据包目标IP的表项,如果找到就直接转发给它,若没有进行下面步骤; 
    •路由器查看是否有与数据包目标IP的网络号匹配的表项,若有就根据此表项把包发给下一个地址,若没有; 
    •路由器查看是否有默认转发数据包的表项,如果有就转发给它; 
    •如果没有默认默认路由或转发出错,那么就返回一个ICMP报文 
    下面图片是我研究路由表功能所做的实验,大家可以跟着做一做,有助于理解路由转发,route -n可以查看本机路由表,里面一些标识大家可以百度,这里我简单展示一下
    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    A,局域网下的通信 
    发的数据包ip和mac地址都不变,因为局域网下两台计算机直接通信
    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    B,不同网段下通信,数据包的目标ip不变,但mac地址却在不断变化(请看上一期arp讲解)

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    C,与因特网通信IP与mac地址都会变,使用NAT技术,这理就不讲解了,主要是为了实现私有IP和公有IP的转换
    综上可以看出数据包到达目标机是通过走一步看一步的方式到达的。

    最后介绍两个好玩的功能:
    •Linux有一个开启路由转发命令:
    •开启路由转发:echo1>/proc/sys/net/ipv4/ip_forward
    •关闭路由转发:echo0>/proc/sys/net/ipv4/ip_forward
    •结合此功能和上一节的arp欺骗便可以实现查看局域网其它计算机网络通信的数据,例如结合kali的driftnet就可以查看局域网其它计算机网络通信时的图片
    •tctrace查看经过路由的原理就是每一次对ttl加一,可以自己结合python的scapy模块写一个这样的小工具:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    PS:可以结合GNS3配饰网络拓扑图来学习路由转发,这样可以加深理解 
    好了今天就讲到这里吧!本期下半节内容将讲解TCP协议以及SYN,FIN,NULL,XAMS几种扫描的原理和优缺点,并展示一个自己写的小脚本。


    原文发布时间为:2017-02-27
    本文作者:exploit
    本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号
    展开全文
  • Metaspioit 端口扫描

    2018-09-19 09:40:28
    一,使用NMAP扫描 打开metasploits:msfconsole   ...查看端口扫描有哪些 :search portscan 调用端口扫描器:use auxiliary/scanner/portscan/tcp 打开工具显示菜单:show options ...

    一,使用NMAP扫描

    打开metasploits:msfconsole

     

    打开

    使用nmap进行端口扫描:nmap -v -sV 172.47.16.66

    nmap

    duankou

    二,使用扫描工具扫描

    查看端口扫描器有哪些  :search portscan

    cahzhao

    duankousaomiaoqo

    调用端口扫描器:use auxiliary/scanner/portscan/tcp

    tcp

    打开工具显示菜单:show options

    菜单

    进行设置:set RHOSTS 172.47.16.66(注意要确认是否设置成功)

                     set THREADS 10

    设置

    进行扫描:run

     

    zhixing

    SA

    展开全文
  • nmap工具进行端口扫描

    2020-03-23 19:15:49
    Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些 主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。...
  • Linux端口扫描方法

    2020-10-20 17:29:48
    当然,不止这两种方法,也可以自己写一个端口扫描工具。具体实现要根据TCP和UDP的协议原理来实现端口扫描。 使用nmap命令检查开放端口 nmap(Network exploration tool and security / port scanner)是功能强大的...
  • 端口扫描的原理 端口扫描原理:尝试与目标主机建立连接,如果目标主机回复则说明端口开放。 如果把服务器比作房子,端口就是这个房子里面的门。就是看房子里面哪些门是开的哪些是没有开的 安全级别比.
  • 端口扫描

    2013-03-07 16:12:49
    端口扫描器用于扫描网络上任意一台主机的任意TCP端口,以检查其提供了哪些服务。端口扫描器在网络攻防两方面都是重要的工具,攻击方利用它搜寻安全漏洞的主机,而防御方则利用它找出本机隐藏的木马
  • Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。...
  • nmap命令  是一款开放源代码的网络...nmap可以发现网络上有哪些主机,主机提供了什么服务(应用程序名称和版本号),并探测操作系统的类型及版本信息。 如果系统没有nmap命令,则可以使用下面的命令来安装:  nma...
  • 什么比较流行和高效的工具可以用来辅助系统管理员来进行漏洞的扫描和发现呢?  企业端口扫描策略  1、端口扫描的目的  对于位于网络中的计算机系统来说,一个端口是一个潜在的通信通道,也是一个入侵通道...
  • Nmap——端口扫描

    2021-05-24 23:41:53
    Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。...
  • 可以用来发现网络上有哪些主机,提供什么服务(应用程序名和版本),运行在什么操作系统(包括版本信息),使用什么类型的报文过滤器 / 防火墙…… 1.2 Nmap的一些功能 检测存活在网络上的主机(主机发现) 检测...
  • 内网扫描工具

    2018-09-25 14:47:47
    在渗透测试(特别是内网)中经常需要对目标进行网络资产收集,即对方服务器都有哪些IP,IP上开了哪些端口端口上运行着哪些服务,此脚本即为实现此过程,相比其他探测脚本有以下优点:1、轻巧简洁,只需python环境,...
  • 使用Nmap进行端口扫描和服务识别

    万次阅读 2006-12-07 15:34:00
    使用Nmap进行端口扫描和服务识别第1章 Nmap的简介[1]Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。...
  • 想不想看看你们校园里里有哪些不为人知的网站或是找找开放了一些有趣端口的服务器? 首先我们需要在Linux下安装nmap(Nmap是一款网络扫描和主机检测的非常有用的工具),Ubuntu 可使用sudo apt-get install nmap安装...
  • 扫描工具扫描法查看网内IP使用情况

    千次阅读 2011-07-28 11:33:58
    在进行网络安全工作时就经常使用扫描扫描网络中各个主机的漏洞,那么现在我们完全可以使用此方法来查看本网络有哪些IP地址被占用。由于扫描扫描时并不是仅仅使用ICMP协议进行ping,我们可以设置,让扫描器多扫描...
  • Nmap简介Nmap也就是Network Mapper,是一款网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。...端口扫描:用于扫描主机上端口状...
  • 如果您已经打算部署网络扫描工具,市场上许多选择。对于IT管理员来说,重要的是要确保工具的最佳功能符合企业的扫描要求。为了更容易了解此需求,我们详细列出了了功能清单,以确保满足您的企业需求。 网络扫描...
  • 网络扫描:NMAP

    2021-02-16 21:35:02
    NMAP是一个强大的端口扫描类安全评测工具,支持ping扫描、多端口检测等多种技术 安装: nmap常用的选项和扫描类型 查看正在运行的使用tcp/udp协议的网路状态信息 查看本机开放的tcp/udp端口 nmap -sT 127.0.0.1 ...
  • 网络监听与扫描攻击

    2020-10-10 16:42:25
    原理简介 Nmap 是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。 Nmap 工具可以用来扫描电脑上开放的端口,确定...首先,Nmap 通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上
  • Nessus扫描器的使用

    2020-02-02 23:42:42
    对目标主机进行扫描,而不仅仅是对网站进行扫描扫描目标主机开放了哪些端口扫描端口运行的服务,目标主机上有哪些漏洞。 主机扫描工具也有很多,比如:Nessus Nessus Nessus号称是世界上最流行的漏洞扫描...
  • 用OSSIM发现网络扫描

    2017-11-08 01:10:00
    扫描技术包括Ping扫描(确定哪些主机正在活动)、端口扫描(确定有哪些开放服务)、操作系统辨识(确定目标主机的操作系统类型)。详情参考《基于OSSIM平台的漏洞扫描详解》、《OSSIM中主动与被动探测工具(arpwatch...
  • 发现目标环境中有哪些资产,资产就是联网设备,主机,服务器,各种服务等。 资产整理,发现,收集。 主机发现、端口扫描。 扫描神器(nmap)【效率高】 官网:nmap.org nmap工具是跨平台的 nmap自动集成在 kali ...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 147
精华内容 58
关键字:

端口扫描工具有哪些