网络常用探测命令:nmap / ncat / tcpdump

网络常用探测命令:nmap / ncat / tcpdumpnmap概述语法OPTIONSARGUMENTS使用示例nc / ncat概述语法OPTIONSARGUMENTSPORTS示例Port Scanning(端口扫描)Chat ServerFile transfertcpdump概述语法OPTIONSARGUMENTS示例监视指定网络接口的数据包监视指定主机的数据包监视指定主机和端口的数据...
摘要由CSDN通过智能技术生成

nmap

用于网络探测和安全审核。

1、概述

nmap命令 是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络。

2、语法

nmap [OPTIONS] {
   ARGUMENTS} 

2.1 OPTIONS

-O                        # 激活操作探测
-P0                       # 只进行扫描,不ping主机
-PT                       # 是同TCP的ping
-sV                       # 探测服务版本信息
-sP                       # ping扫描,仅发现目标主机是否存活
-ps                       # 发送同步(SYN)报文
-PU                       # 发送udp ping
-PE                       # 强制执行直接的ICMPping
-PB                       # 默认模式,可以使用ICMPping和TCPping
-6                        # 使用IPv6地址
-v                        # 得到更多选项信息
-d                        # 增加调试信息地输出
-oN                       # 以人们可阅读的格式输出
-oX                       # 以xml格式向指定文件输出信息
-oM                       # 以机器可阅读的格式输出
-A                        # 使用所有高级扫描选项
--resume                  # 继续上次执行完的扫描
-P # 指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围
-e                        # 在多网络接口Linux系统中,指定扫描使用的网络接口
-g                        # 将指定的端口作为源端口进行扫描
--ttl                     # 指定发送的扫描报文的生存期
--packet-trace            # 显示扫描过程中收发报文统计
--scanflags               # 设置在扫描报文中的TCP标志
--send-eth/--send-ip      # 使用原始以太网发送/构造指定IP发送

2.2 ARGUMENTS

参数一般为IP地址,需要探测的IP地址

3、使用示例

安装:
# yum install nmap  
扫描网址 www.magedu.com的开放端口:
# nmap www.magedu.com
[root@neo ~]# nmap 220.172.107.204

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-10 02:04 EDT
Nmap scan report for 220.172.107.204
Host is up (0.061s latency).
Not shown: 989 closed ports
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   open     ssh
23/tcp   filtered telnet
80/tcp   filtered http
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
443/tcp  filtered https
445/tcp  filtered microsoft-ds
4444/tcp filtered krb524
8080/tcp filtered http-proxy
8443/tcp filtered https-alt

Nmap done: 1 IP address (1 host up) scanned in 9.21 seconds

nc / ncat

1、概述

nc / ncat - Concatenate and redirect sockets(连接并重定向套接字)

nc / ncat 在CentOS 上是同一个命令工具,是一个功能丰富的网络实用程序,可通过命令行在网络上读写数据。 它旨在成为一种可靠的后端工具,可立即为其他应用程序和用户提供网络连接。

使用 ncat 时,尽量不要使用 nc,避免与 netcat 冲突。

2、语法

ncat [OPTIONS] {
   ARGUMENTS} {
   PORTS}
nc  [-hlnruz]
				[-g<网管>]
				[-G<指向器数目>]
				[-i<延迟秒数>]
				[-o<输出文件>]
				[-p<通信端口>]
				[-s<来源地址>]
				[-v…]
				[-w<超时秒数>]
								[主机名称]	[通信端口…]

2.1 OPTIONS

-h 查看帮助信息
-g hop1[,hop2,...]        # 松散源路由跳点(最多8个)
-G <n>                    # 指向器数目 (4812...-d, --delay <time>        # 同时建立的最大连接数
-o, --output <filename>   # 输出文件
-x, --hex-dump <filename> # 十六进制输出文件
-i, --idle-timeout <time> # 空闲读/写超时时间
-p, --source-port port    # 指定特定的源端口
-s, --source addr         # 指定特定的源ip
-l, --listen              # 绑定并监听传入的连接
-k, --keep-open           # 在监听模式下接受多个连接
-t, --telnet              # 应答Telnet握手协议
-u, --udp                 # 使用udp代替默认的tcp
    --sctp                # 使用sctp代替默认的tcp
-w, --wait <time>         # 连接超时时间

2.2 ARGUMENTS

参数一般为IP地址,需要探测的IP地址

2.3 PORTS

需要探测的端口

netcat

1、编译安装netcat

1.1 下载

http://sourceforge.net/projects/netcat/files/netcat/0.7.1/

1.2 解压至相关目录

[root@neo home]# ll netcat-0.7.1.tar.gz 
-rw-r--r--. 1 root root 398872 Sep 10 02:22 netcat-0.7.1.tar.gz
[root@neo home]# tar -zxvf netcat-0.7.1.tar.gz -C /usr/local/
netcat-0.7.1/
netcat-0.7.1/m4/
netcat-0.7.1/m4/lib-link.m4

1.3 目录改名(改为 netcat)

[root@neo home]# cd /usr/local/netcat-0.7.1/
[root@neo netcat-0.7.1]# ls
ABOUT-NLS   ChangeLog     config.rpath  configure.ac  INSTALL     m4           missing        po      TODO
aclocal.m4  config.guess  config.sub    COPYING       install-sh  Makefile.am  mkinstalldirs  README
AUTHORS     config.h.in   configure     doc           lib         Makefile.in  NEWS           src
[root@neo netcat-0.7.1]# cd ..
[root@neo local]# pwd
/usr/local
[root@neo local]# mv netcat-0.7.1/ netcat
[root@neo local]# ll netcat/
total 676
-rw-r--r--. 1 100 users  24687 Aug 17  2002 ABOUT-NLS
-rw-r--r--. 1 100 users 109116 Jan 11  2004 aclocal.m4
... ...
drwxrwxrwx. 2 100 users    216 Jan 11  2004 src
-rw-r--r--. 1 100 users   2197 Aug 28  2003 TODO
[root@neo local]# cd netcat/
[root@neo netcat]# ll
total 676
-rw-r--r--. 1 100 users  24687 Aug 17  2002 ABOUT-NLS
-rw-r--r--. 1 100 users 109116 Jan 11  2004 aclocal.m4
-rw-r--r--. 1 100 users    473 Nov  4  2003 AUTHORS
... ...
-rw-r--r--. 1 100 users   2197 Aug 28  2003 TODO

1.4 安装

在目录(cd /usr/local/netcat)下进行编译安装,把文件存放在/opt/netcat下,删除时,卸载软件时,只要删除这个文件就行了。

./configure --prefix=/opt/netcat

make && make install
[root@neo netcat]# ./configure --prefix=/opt/netcat
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
... ...
[root@neo netcat]# make && make install
make  all-recursive
... ...

1.5 修改配置文件

# vim /etc/profile

添加以下内容:
# set  netcat path
export NETCAT_HOME=/opt/netcat
export PATH=$PATH:$NETCAT_HOME/bin

使配置文件生效:
# source /etc/profile

2、nc/netcat 和 ncat/nmap 的区别

nc与netcat是一个组件,ncat是nmap下的一个程序。两者是不一样的。

如果你使用 nc 时,无法使用,提示Ncat: Connection refused.,可能是因为系统将nc/netcat默认指向了ncat,导致使用命令nc,其实使用的是ncat。

解决办法

[root@neo netcat]# whereis nc       # 查找 nc
nc: /usr/bin/nc /opt/netcat/bin/nc /usr/share/man/man1/nc.1.gz
[root@neo netcat]# ll /usr/bin/nc   # 查看 nc,应该是一个连接文件
lrwxrwxrwx. 1 root root 4 Sep 10 02:03 /usr/bin/nc -> ncat
[root@neo netcat]# rm /usr/bin/nc   # 删除软链接
rm: remove symbolic link ‘/usr/bin/nc’? yes
[root@neo netcat]# ln -s /opt/netcat/bin/nc /usr/bin/nc   # 新建软链接
[root@neo netcat]# nc --help        # 查看帮助进行验证,已经是 netcat 了
GNU netcat 0.7.1, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere:  nc [options] hostname port [port] ...
listen for inbound:    nc -l -p port [options] [hostname] [port] ...
tunnel to somewhere:   nc -L hostname:port -p port [options]

示例进行验证

进行了 TCP 全链接端口扫描。

[root@neo ~]# nc -nv -w 1 -z 125.67.67.28 1-500
125.67.67.28 22 (ssh) open
125.67.67.28 53 (domain) open

3、示例

3.1 Port Scanning(端口扫描)

端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞。

# nc -z -v -n 172.31.100.7 21-25
# 打印2125所有开放的端口
# 可以运行在TCP或者UDP模式,默认是TCP-u参数调整为udp

# z option tell netcat to use zero IO .i.e the connection is closed as soon as it opens and no actual data exchange take place.
# v option is used for verbose option.
# n option tell netcat not to use the DNS lookup for the address.
# 一旦你发现开放的端口,你可以容易的使用 netcat 连接服务抓取他们的banner
# nc -v 172.31.100.7 21
# netcat 命令会连接开放端口21并且打印运行在这个端口上服务的banner信息

Banner是一个文本,Banner是一个你连接的服务发送给你的文本信息。当你试图鉴别漏洞或者服务的类型和版本的时候,Banner信息是非常有用的。但是,并不是所有的服务都会发送banner。

3.2 Chat Server

If you want to chat with your friend there are numerous software and messenger services available at your disposal.But what if you do not have that luxury anymore like inside your computer lab, where all outside connections are restricted, how will you communicate to your friend who is sitting in the next room. Don’t worry my friend because netcat has a solution for you just create a chat server and a predetermined port and he can connects to you.

Server
# nc -l 1567

netcat 命令在1567端口启动了一个tcp 服务器,所有的标准输出和输入会输出到该端口。输出和输入都在此shell中展示。

Client
# nc 172.31.100.7 1567

不管你在机器B上键入什么都会出现在机器A上。

3.3 File transfer

Most of the time we are trying to transfer file over network and stumble upon the problem which tool to use. There are again numerous methods available like FTP, SCP, SMB etc. But is it really worth the effort to install and configure such complicated software and create a sever at your machine when you only need to transfer one file and only once.

Server
# nc -l 1567 < file.txt

Client
# nc -n 172.31.100.7 1567 > file.txt

这里我们创建了一个服务器在A上并且重定向netcat的输入为文件file.txt,那么当任何成功连接到该端口,netcat会发送file的文件内容。
在客户端我们重定向输出到file.txt,当B连接到A,A发送文件内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值