• 【nc,nmap学习】瑞士军刀


    下载链接:https://nmap.org/download.html

    nc传输(一种网络的数据流重定向)
    
    nc所做的就是在两台电脑之间建立tcp或udp链接,并在两个端口之间传输数据流,是一种网络的数据流重定向
    
    使用dd结合nc命令网络克隆磁盘分区
    
    主机:
    
    dd if=/dev/vda | gzip -c | nc -l 50522
    1
    待恢复机:
    
    nc 192.168.215.63 50522 | gzip -dc | dd of=/dev/sda
    1
    dd命令克隆/dev/vda磁盘,并使用gzip压缩,把数据流重定向到本机50522端口,待恢复机上使用nc连接主机50522端口,就能接收主机50522端口的比特数据流,然后使用gzip解压缩,并恢复到/dev/sda磁盘
    
    dd命令读取的是磁盘扇区,所以不论磁盘文件系统,或者分区表,磁盘MBR信息,dd都能够复制,可以使用bs,count参数控制要克隆的大小
    
    例如dd bs=512 count=1 if=/dev/vda of=mbr.img 只复制磁盘vda的第一个扇区512K字节数据(引导程序和分区表)
    
    通常,可以用scp完成两台主机间的文件传输任务,但在主机间未建立信任关系的情况下,scp每次都需要输入密码,用起来感觉不是很方便,之前这篇笔记介绍过不用输入密码执行脚本或传输文件的方法,但对于一些临时性的任务,准备工作还是比较麻烦。
    
    what is nc ?
    
    nc是netcat的简写,关于nc是什么,man如是说:arbitrary TCP and UDP connections and listens
    
    nc可以方便地实现任意TCP/UDP端口的侦听,连接的建立,端口的扫描,等等。也即,nc既可以作为server以TCP或UDP方式侦听指定端口,也可以作为client发起TCP连接或方式UDP包。下面要介绍的技巧就是借助其TCP连接来实现主机间文件传输的。
    
    nc的控制参数不少,常用的几个参数如下所列:
    
    备注:nc要连接的目的端口可以是具体的整数,也可以直接通过服务名指定,这种情况下,nc会负责将name映射至某个well-known port(可用cat /etc/services查看这些端口跟服务名的映射关系)
    参数    描述
    -l    用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接
    -p port    指定nc要使用的端口。若之前已指定-l,则这里的-p指定具体的侦听端口;若未指定-l,则表示向这个端口发起连接
    -s hostname/ip-address    指定发送数据的源IP地址,适用于多网卡机器
    -u    指定nc使用UDP协议,默认为TCP
    -v    输出交互或出错信息,新手调试时尤为有用
    use nc to transmit data between hosts
    
    经过上面对nc的简介,估计不少同学已经知道怎么用nc来实现两台机器间的文件传输了。这里对实现流程做简单说明。
    
    在数据接收方的机器上侦听指定端口
    
    nc -l -p 8210 > demo.txt        # 在本机8210端口侦听TCP连接,将收到的数据写入文本文件
    nc -l -p 8210 > demo.tar.bz2    # 在本机8210端口侦听TCP连接,将收到的数据写成压缩文件
    1
    2
    在数据发送方机器上向指定地址(ip+port)以TCP方式发送数据
    
    nc dest_ip 8210 < demo.txt      # 向ip为dest_ip的机器的8210端口发送demo.txt文件
    nc dest_ip 8210 < $(tar -jcvf demo.tar.bz2 demo.txt) # 压缩后发送
    1
    2
    -v打印出错信息
    
    接收方:nc -v -l -p 8210  
    发送方:nc -v dest_ip 8210
    1
    2
    注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。
    View Code

    nc介绍:

          nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具,其有Windows和Linux的版本,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。

    nc的作用:

    (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口

    (2)端口的扫描,nc可以作为client发起TCP或UDP连接

    (3)机器之间传输文件

    (4)机器之间网络测速

    nc的控制参数不少,常用的几个参数如下所列:

    1) -l

    用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

    2) -p <port>

    暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

    3) -s 

    指定发送数据的源IP地址,适用于多网卡机 

    4) -u

     指定nc使用UDP协议,默认为TCP

    5) -v

    输出交互或出错信息,新手调试时尤为有用

    6)-w

    超时秒数,后面跟数字 

    7)-z

    表示zero,表示扫描时不发送任何数据

    nc使用:

    要使用nc工具需要先安装此工具

    [root@localhost2 ~]# yum -y install nc 

    两台机器测试的话,两台机器都要安装

    test:

    1:192.168.8.10

    2:192.168.8.20

    1机器启动apache服务,监听80端口

     

    2机器用nc查看80是否启动

     

    机器1监听udp的42006端口   nc -l 默认监听TCP端口+u则监听UDP

     

    机器2连接机器1的udp的42006端口并发数据,机器可以收到

     

    telnet也可以实现

    机器1监听2206端口(yum  -y  install  telnet)

     

    机器2连接测试并发数据123

     

    测试端口是否启动

    机器1监听2206

     

    机器2连接测试

     

    扫描机器开放的tcp端口 nc -zw 1 192.168.8.10  1-65534

    扫描机器开放的udp端口 nc -uzw 1 192.168.8.10  1-65534

    yum  -y  install  nmap

    nmap工具是扫描端口用的工具

    NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

    [root@localhost2 ~]# nmap 192.168.8.1-100    扫描ip1-100  开放的所有端口

     下面为返回结果

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Starting Nmap 5.51 ( http://nmap.org ) at 2017-10-19 21:17 CST
     
    Nmap scan report for 192.168.8.1
     
    Host is up (0.00010s latency).
     
    Not shown: 989 filtered ports
     
    PORT     STATE SERVICE
     
    80/tcp   open  http
     
    135/tcp  open  msrpc
     
    139/tcp  open  netbios-ssn
     
    445/tcp  open  microsoft-ds
     
    902/tcp  open  iss-realsecure
     
    912/tcp  open  apex-mesh
     
    1801/tcp open  msmq
     
    2103/tcp open  zephyr-clt
     
    2105/tcp open  eklogin
     
    2107/tcp open  msmq-mgmt
     
    3389/tcp open  ms-term-serv
     
    MAC Address: 00:50:56:C0:00:08 (VMware)
     
      
     
    Nmap scan report for 192.168.8.2
     
    Host is up (0.000038s latency).
     
    Not shown: 999 closed ports
     
    PORT   STATE    SERVICE
     
    53/tcp filtered domain
     
    MAC Address: 00:50:56:E3:C2:88 (VMware)
     
      
     
    Nmap scan report for 192.168.8.10
     
    Host is up (0.000088s latency).
     
    Not shown: 997 closed ports
     
    PORT     STATE SERVICE
     
    22/tcp   open  ssh
     
    80/tcp   open  http
     
    3306/tcp open  mysql
     
    MAC Address: 00:0C:29:C4:34:9F (VMware)
     
      
     
    Nmap scan report for 192.168.8.20
     
    Host is up (0.0000020s latency).
     
    Not shown: 999 closed ports
     
    PORT   STATE SERVICE
     
    22/tcp open  ssh
     
      
     
    Nmap done: 100 IP addresses (4 hosts up) scanned in 8.06 seconds
    作者:gtea 博客地址:https://www.cnblogs.com/gtea
  • 相关阅读:
    redis报Cannot allocate memory错误
    Python输入输出
    leedcode题目 :罗马数字转整数 Java
    form 表单中input 使用disable属性
    今天开始学习
    equals的用法的注意事项
    mybatis的优缺点
    安装oracle出现环境不满足最低要求
    史上最形象易懂的java代理
    MySQL中光标的使用细节
  • 原文地址:https://www.cnblogs.com/gtea/p/12942798.html
Copyright © 2020-2023  润新知