1.        nmap工具检测开放端口

(1)nmap包含四项基本功能:主机发现(Host Discovery);端口扫描(Port Scanning);版本侦测(Version Detection);操作系统侦测(Operating System Detection);

[root@WWcentos ~]# nmap www.baidu.comStarting Nmap 6.40 ( http://nmap.org ) at 2022-08-18 16:54 CST
Nmap scan report for www.baidu.com (36.152.44.96)
Host is up (0.0022s latency).
Other addresses for www.baidu.com (not scanned): 36.152.44.95
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  httpsNmap done: 1 IP address (1 host up) scanned in 25.15 seconds

注意:这是一个不安全的命令,是用来扫描他人服务器的,用于公司内部或者是局域网内。通常服务器都会有防火墙。

例1:扫描指定IP开放端口

[root@WWcentos ~]# nmap -v 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 17:48 CST
Initiating Parallel DNS resolution of 1 host. at 17:48
Completed Parallel DNS resolution of 1 host. at 17:48, 0.01s elapsed
Initiating SYN Stealth Scan at 17:48
Scanning 192.168.137.128 (192.168.137.128) [1000 ports]
Discovered open port 22/tcp on 192.168.137.128
Discovered open port 111/tcp on 192.168.137.128
Completed SYN Stealth Scan at 17:48, 1.61s elapsed (1000 total ports)
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000028s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbindRead data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.65 secondsRaw packets sent: 1061 (46.684KB) | Rcvd: 2124 (89.212KB)

例2:网段内存活的机器:

[root@WWcentos ~]# nmap -sP 192.168.137.0/24Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:31 CST
Nmap scan report for 192.168.137.1 (192.168.137.1)
Host is up (0.000061s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.137.2 (192.168.137.2)
Host is up (0.00012s latency).
MAC Address: 00:50:56:E1:65:46 (VMware)
Nmap scan report for 192.168.137.254 (192.168.137.254)
Host is up (-0.11s latency).
MAC Address: 00:50:56:E9:EA:03 (VMware)
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.10 seconds

例3:扫描指定IP的指定端口:

[root@WWcentos ~]# nmap -p 80 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:32 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000043s latency).
PORT   STATE  SERVICE
80/tcp closed httpNmap done: 1 IP address (1 host up) scanned in 0.23 seconds

例4:探测主机操作系统:

[root@WWcentos ~]# nmap -O 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:37 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000028s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind
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 hopsOS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.00 seconds

例5:全面的系统探测:

[root@WWcentos ~]# nmap -A 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:39 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000049s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 2048 e3:89:5f:a1:8e:bd:30:20:20:cd:2d:6f:1b:e5:ae:af (RSA)
|_256 15:b4:13:5e:58:e7:c9:b5:e4:cc:2a:50:df:3f:63:02 (ECDSA)
111/tcp open  rpcbind 2-4 (RPC #100000)
| rpcinfo:
|   program version   port/proto  service
|   100000  2,3,4        111/tcp  rpcbind
|_  100000  2,3,4        111/udp  rpcbind
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 hopsOS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.23 seconds

例6:穿越防火墙进行扫描:

[root@WWcentos ~]# nmap -sA 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:43 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000035s latency).
All 1000 scanned ports on 192.168.137.128 (192.168.137.128) are unfilteredNmap done: 1 IP address (1 host up) scanned in 1.63 seconds

例7:Ping扫描(Ping Sweeping)

[root@WWcentos ~]# nmap -sP 192.168.137.128/24Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:45 CST
Nmap scan report for 192.168.137.1 (192.168.137.1)
Host is up (0.000075s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.137.2 (192.168.137.2)
Host is up (0.000094s latency).
MAC Address: 00:50:56:E1:65:46 (VMware)
Nmap scan report for 192.168.137.254 (192.168.137.254)
Host is up (-0.10s latency).
MAC Address: 00:50:56:E9:EA:03 (VMware)
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.12 seconds

例8:隐蔽扫描(Stealth Scanning):

[root@WWcentos ~]# nmap -sS 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:47 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000028s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbindNmap done: 1 IP address (1 host up) scanned in 1.64 seconds

例9:UDP扫描(UDP Scanning):

[root@WWcentos ~]# nmap -sU 192.168.137.128Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:49 CST
Nmap scan report for 192.168.137.128 (192.168.137.128)
Host is up (0.000077s latency).
Not shown: 998 closed ports
PORT     STATE         SERVICE
111/udp  open          rpcbind
5353/udp open|filtered zeroconfNmap done: 1 IP address (1 host up) scanned in 12.15 seconds

例10:Ident扫描(Ident Scanning):

一个攻击者常常寻找一台对于某些进程存在漏洞的电脑。比如,一个以root运行的WEB服务器。如果目标机运行了identd,一个攻击者使用Nmap通过 “-I” 选项的TCP连接,就可以发现哪个用户拥有http守护进程。我们将扫描一个Linux WEB服务器为例:

[root@WWcentos ~]# nmap -sT -p 80 -I -O www.baidu.com
WARNING: identscan (-I) no longer supported.  Ignoring -IStarting Nmap 6.40 ( http://nmap.org ) at 2022-08-19 18:54 CST
Nmap scan report for www.baidu.com (36.152.44.96)
Host is up (0.017s latency).
PORT   STATE SERVICE
80/tcp open  http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.2OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.31 seconds

2.        tcpdump

(1)tcpdump 选项:

采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。

选项: 含义:
-c

指定要抓取包的数量。注意:是最终要获取这么多个包。

例如,指定“-c 10”将获取10个包,但可能已经处理了100个包,只不过只有10个包是满足条件的。

-i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的已配置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo):一旦找到第一个符合条件的接口,搜寻马上结束。可以使用“any”关键字表示所有的网络接口。
-n 对地址以数字方式显示,否则显示为主机名,也就是说-n选项不做主机名解析
-nn 除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
-N

不打印出host的域名部分。

例如tcpdump将会打印“www”而不是“www.baidu.com”

-P

指定要抓取的包是流入还是流出的包。

可以给定的值为“in”,“out”,“inout”,默认为“inout”

-s len 设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。对于要抓取的数据包较大时,长度设置不够可能会产生包截断,若出现包截断,输出行中会出现“[|proto]”的标志(proto实际会显示为协议名)。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。
-e

输出的每行中都将包括数据链路层头部信息,

例如源MAC和目标MAC

-q 快速打印输出。即打印很少的协议相关信息,从而输出行都比较短。
-x 输出包的头部数据,会以16进制和ASCII两种方式同时输出。
-xx 输出包的头部数据,会以16进制和ASCII两种方式同时输出。更详细。
-X 告诉tcpdump命令,需要把协议头和包内容都原原本本地显示出来(tcpdump会以16进制和ASCII的形式显示),这在进行协议分析时是绝对的利器。
-v 当分析和打印的时候,产生详细的输出。
-vv 产生比-v更详细的输出。
-vvv 产生比-vv更详细的输出。
-D 列出可用于抓包的接口。将会列出接口的数值编号和接口号,它们都可以用于“-i”后。
-F 从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。
-w 将抓包数据输出到文件中而不是标准输出。可以同时配合“-G time”选项使得输出每time秒就自动切换到另一个文件。可通过“-r”选项载入这些文件以进行分析和打印。
-r

从给定的数据包文件中读取数据。使用“-”表示从标准输入中读取。

例1:

[root@WWcentos ~]# tcpdump -i ens33 -e -nn -X -c 2 'port 22'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
10:16:51.212181 00:0c:29:56:45:4d > 00:50:56:c0:00:08, ethertype IPv4 (0x0800), length 230: 192.168.137.128.22 > 192.168.137.1.50960: Flags [P.], seq 2917522067:2917522243, ack 1240790327, win 310, length 1760x0000:  4510 00d8 5aec 4000 4006 4b51 c0a8 8980  E...Z.@.@.KQ....0x0010:  c0a8 8901 0016 c710 ade5 da93 49f4 f537  ............I..70x0020:  5018 0136 949d 0000 4ddc 0f1e 9a5e ba0b  P..6....M....^..0x0030:  6af2 6ad0 8380 0626 ab6f 3581 85a0 5e61  j.j....&.o5...^a0x0040:  66b3 a1a6 34f1 3403 0b10 e0ba 6842 ec37  f...4.4.....hB.70x0050:  2cce 0c79 6cda cb4e efc6 0189 7725 ab45  ,..yl..N....w%.E0x0060:  bc59 ec70 46aa 8ce2 128e 087a 3cad 8301  .Y.pF......z<...0x0070:  c523 fecb f9f4 67ac 10af 6376 d125 e87b  .#....g...cv.%.{0x0080:  4877 42b2 e2d7 0594 8315 8434 a635 4cd9  HwB........4.5L.0x0090:  1d9e 5ada ff88 9170 325c 7ebd 8d68 e181  ..Z....p2\~..h..0x00a0:  d7bd bc63 c825 0f4c 9bc3 8a6d 4b32 721b  ...c.%.L...mK2r.0x00b0:  238a 2881 d387 57f8 7207 4ed0 b49d 14f3  #.(...W.r.N.....0x00c0:  24fb 2fcc 78b1 377d 8562 8a0c ad43 c309  $./.x.7}.b...C..0x00d0:  2197 9948 8479 c1cc                      !..H.y..
10:16:51.212280 00:50:56:c0:00:08 > 00:0c:29:56:45:4d, ethertype IPv4 (0x0800), length 60: 192.168.137.1.50960 > 192.168.137.128.22: Flags [.], ack 176, win 508, length 00x0000:  4500 0028 405d 4000 8006 26a0 c0a8 8901  E..(@]@...&.....0x0010:  c0a8 8980 c710 0016 49f4 f537 ade5 db43  ........I..7...C0x0020:  5010 01fc 8a89 0000 0000 0000 0000       P.............
2 packets captured
2 packets received by filter
0 packets dropped by kernel

(1)#第一行:tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

提示使用选项 -v ,-vv 可以看到更全面的输出内容。

(2)#第二行:listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes

我们监听的是通过ens33这个设备的网络包,他的链路层是基于以太网,抓包的大小限制是262144

(3)#第三行:10:16:51.212181 00:0c:29:56:45:4d > 00:50:56:c0:00:08, ethertype IPv4 (0x0800), length 230: 192.168.137.128.22 > 192.168.137.1.50960: Flags [P.], seq 2917522067:2917522243, ack 1240790327, win 310, length 176

10:16:51.212181#对应“时,分,秒,微秒”

00:0c:29:56:45:4d > 00:50:56:c0:00:08#表示从MAC地址00:0c:29:56:45:4d发送到MAC地                                                                             址 00:50:56:c0:00:08

ethertype IPv4(8x0800)#表示Etherbet帧的协议类型为ipv4(即代码为0x0800)

length 230: 192.168.137.128.22 > 192.168.137.1.50960#以太网帧的长度为230,源IP为192.168.137.128,源端口为22 ,> 表示数据传输方向,目标地址是192.168.137.1,目的端口是50960

Flags [P.]#Flags是P,表示数据传输,Flags [P.]:S=SYN,发起连接标志。P=PUSH,传送数据标志。F=FIN,关闭连接标志。ack,表示确认包。RST=RESET,异常关闭连接。.,表示没有任何标志。

seq 2917522067:2917522243, ack 1240790327, win 310, length 176#序号,确认号,窗口大小,长度。

例2:观察三次握手和四次挥手

tcpdump -i ens33 -e -nn -X host www.baidu.com

需要在同一台虚拟机内另起一个终端给它信号:curl www.baidu.com

(2)tcpdump表达式:

表达式大体可以分成三种。“类型”,“方向”和“协议”,这三种条件的搭配组合就构成了我们的表达式。

类型:主要包括host,net,port,例如host 192.168.137.128 ,指定主机 192.168.137.128;net 192.168.137.1 指明192.168.137.1是一个网络地址;port 22 指明端口号是22.如果没有指定类型,缺省的类型是host。

方向:主要包括src,dst,dst or src,dst and src,这些关键字指明了传输的方向。

举例说明:src 192.168.137.128 ,指明ip包中源地址是192.168.137.128,dst net 192.168.137.0指明目的网络地址是192.168.137.0 .如果没有指明方向关键字,则缺省是src or dst关键字。

协议:主要包括ether,ip,ip6,arp,rarp,tcp,udp,等类型。这几个包的协议内容。

如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

注意:

1)还有关键字表达式单元:gateway,broadcast,less,greater,以及算术表达式。

2)表达式单元之间可以使用操作符“  and   /  &&  /  or  /  ||  /  not  /  !  ”进行连接,从而组成复杂的条件表达式。如"host foo and not port ftp and not port ftp-data",这表示筛选的数据包要满足“主机为foo且端口不是ftp(端口21)和ftp-data(端口22)的包”,常用端口和名字的对应关系可在Linux系统中的/etc/service文件中找到。

3)另外,同样的修饰符可省略,如“tcp dst port ftp or ftp-data or domain”与“tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain”意义相同,都表示包的协议为tcp且目的端口为ftp或ftp-data或domain(端口53)。

4)使用括号“()”可以改变表达式的优先级,但需要注意的是括号会被shell解释,所以应该使用反斜线“\”转义为“\(\)”,在需要的时候,还需要包围在引号中。

(3)tcpdump主要使用方法:

1)过滤主机/IP:

tcpdump -i ens33 host 192.168.137.128

抓取所有经过网卡1,目的IP为192.168.137.128的网络数据

2)过滤端口:

tcpdump -i ens33 dst port 22

抓取所有经过网卡1,目的端口为22的网络数据

3)过滤特定协议:

tcpdump -i ens33 udp

抓取所有经过网卡1,协议类型为UDP的网络数据

4)抓取本地环路数据包:

tcpdump -i lo udp #抓取UDP数据

tcpdump -i lo udp port 22 #抓取端口22的UDP数据

tcpdump -i lo port 22 #抓取端口22的数据

5)特定协议特定端口:

tcpdump udp port 22

抓取所有经过22端口的UDP网络数据包

6)抓取特定类型的数据包:

tcpdump -i ens33 'tcp[tcpflags] = tcp-syn'

抓取所有经过网卡1的SYN类型数据包

tcpdump -i ens33 udp dst port 53

抓取经过网卡1的所有DNS数据包(默认端口)

7)逻辑语句过滤:

tcpdump -i ens33 '(( tcp ) and (( dst net 192.168.0 ) and ( not dst host 192.168.137.128))'

抓取所有经过网卡1,目的网络是192.168.0,但是目的主机不是192.168.137.128的TCP数据

8)抓包存取:

tcpdump -i ens33 host 192.168.137.128 and port 22 -w /tmp/tcpdump.cap

抓取所有经过网卡1,目的主机为192.168.137.128的端口22的网络数据并存储

29. Linux网络抓包——nmap,tcpdump相关推荐

  1. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

  2. linux服务器udp抓包工具,Linux下抓包工具tcpdump使用介绍

    点评:在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一,本文将介绍Linux下抓包工具tcpdump使用,需要的朋友可以参考下 在传统的网络分析和测试技术中,嗅探器 ...

  3. linux 抓包分析qq号,linux下抓包号召--tcpdump的利用.

    linux下抓包号召--tcpdump的利用. (2011-07-24 02:13:00) 标签: 杂谈 例:tcpdump host 172.16.29.40 and port 4600 -X -s ...

  4. 超详细的网络抓包神器 tcpdump 使用指南

    tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...

  5. 关于fi dd ler 手机抓包 网卡地址地址_超详细的网络抓包神器 tcpdump 使用指南

    tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有.熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将 ...

  6. 关于Linux 网络抓包的一些笔记整理

    写在前面 遇到一个 ping 单通 的情况,需要抓包分析下,所以整理这部分笔记 博文内容涉及: HTTP/TCP 抓包分析 Demo ICMP 抓包分析 Demo Nginx 抓包分析用户名密码 De ...

  7. linux之抓包神器tcpdump

    tcpdump介绍 tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上.熟悉 tcpdump 的使用能够帮助你分析.调试网络数据. tcpdump语法 tcpdump [-adefl ...

  8. Linux下抓包工具tcpdump详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  9. Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP)

    适用于CentOS/REHL/Ubuntu/Debian等,抓出来的包可用Wireshark直接打开分析. 参考文章: 原文的脚本相互调用时,名称有些问题,已修改 1.安装tcpdump 执行(Ubu ...

最新文章

  1. Spring Cloud Alibaba 负载均衡:Ribbon 如何保证微服务的高可用
  2. CallByName的一些缺陷
  3. 【Spark机器学习速成宝典】模型篇01支持向量机【SVM】(Python版)
  4. linux卸载pci驱动,linux的PCI驱动固件问题
  5. SAP CRM Product category的决定逻辑
  6. LeetCode训练
  7. Theano模块的安装其实没你想的那么难
  8. android bitmap 替换指定颜色,Android 实现把bitmap图片的某一部分的颜色改成其他颜色...
  9. 怎么做好企业网站关键词优化
  10. linux c语言round函数,c语言round函数使用问题
  11. 极课大数据完成C轮融资,投资方为好未来
  12. Spark宽窄依赖详解
  13. 一年后再回头看系列之C/C++中的选择法排序、冒泡排序
  14. [NOIP初赛复习]插空法与插板法解排列组合问题
  15. Gentoo 2005.1 完整的USE参数清单中文详解(转)
  16. python9行代码_如何用9行Python代码编写一个简易神经网络
  17. [编程题]神奇的口袋 - Java
  18. 多线程(一)——委托与多线程
  19. 如何隐藏CAD图纸中的部分图形对象?CAD局部隐藏
  20. (4)复函数与拉普拉斯变换

热门文章

  1. SpringCloud 分布式链路追踪、分布式日志系统
  2. ubuntu配置openGL glut库
  3. pr视频叠加,即原视频右上角添加另外一个视频方法,以及pr导出视频步骤
  4. Romberg 积分的python 程序
  5. 地税计算机中心工作计划,2017年地税局行政工作计划范文(1000字)
  6. 大板加腋 弹性板6计算_弹性板6、弹性板3、弹性模对比分析
  7. Word2007转PDF
  8. FX 5U PLC RUN/STOP状态存储在哪里
  9. Matlab工具箱:ggplab 和 YALMIP 安装
  10. C语言知识点自学总结