现在的位置: 首页 > 综合 > 正文

netstat,nmap命令总结(鸟哥的LINUX私房菜)

2019年09月22日 ⁄ 综合 ⁄ 共 3390字 ⁄ 字号 评论关闭
[root@linux ~]# netstat -[rn]       <==與路由有關的參數

[root@linux ~]# netstat -[antulpc]  <==與網路介面有關的參數

參數:

與路由 (route) 有關的參數說明:

-r  :列出路由表(route table),功能如同 route 這個指令;

-n  :不使用主機名稱與服務名稱,使用 IP 與 port number ,如同 route -n

與網路介面有關的參數:

-a  :列出所有的連線狀態,包括 tcp/udp/unix socket 等;

-t  :僅列出 TCP 封包的連線;

-u  :僅列出 UDP 封包的連線;

-l  :僅列出有在 Listen (監聽) 的服務之網路狀態;

-p  :列出 PID 與 Program 的檔名;

-c  :可以設定幾秒鐘後自動更新一次,例如 -c 5 每五秒更新一次網路狀態的顯示;



範例一:列出目前的路由表狀態,且以 IP 及 port number 顯示:

[root@linux ~]# netstat -rn

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0

0.0.0.0         192.168.10.30   0.0.0.0         UG        0 0          0 eth0

# 其實這個參數就跟 route -n 一模一樣,對吧!這不是 netstat 的主要功能啦!



範例二:列出目前的所有網路連線狀態,使用 IP 與 port number

[root@linux ~]# netstat -an

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN

tcp        0      0 :::22                       :::*                        LISTEN

tcp        0      0 ::ffff:192.168.10.100:25    ::ffff:192.168.10.200:57509 TIME_WAIT

tcp        0     52 ::ffff:192.168.10.100:22    ::ffff:192.168.10.210:1504  ESTABLISHED

udp        0      0 127.0.0.1:53                0.0.0.0:*

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags       Type       State         I-Node Path

unix  2      [ ACC ]     STREAM     LISTENING     4792   public/cleanup

unix  2      [ ACC ]     STREAM     LISTENING     4799   private/rewrite

......(底下省略)......


範例三:秀出目前已經啟動的網路服務

[root@linux ~]# netstat -tulnp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address   Foreign Address  State    PID/Program name
tcp        0      0 0.0.0.0:25      0.0.0.0:*        LISTEN   2141/master

tcp        0      0 :::22           :::*             LISTEN   1924/sshd

tcp        0      0 :::25           :::*             LISTEN   2141/master

udp        0      0 127.0.0.1:53    0.0.0.0:*                 1911/named

# 上面最重要的其實是那個 -l 的參數, 為可以僅列出有在 Listen 的 port


範例四:觀察本機上 所有的網路連線狀態

[root@linux ~]# netstat -atunp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address     Foreign Address     State       PID/Program name

tcp        0      0 0.0.0.0:25        0.0.0.0:*           LISTEN      2141/master

tcp        0      0 :::22             :::*                LISTEN      1924/sshd

tcp        0      0 :::25             :::*                LISTEN      2141/master

tcp        0     68 192.168.1.100:22  192.168.1.210:1504  ESTABLISHED 30417/sshd:

udp        0      0 127.0.0.1:53      0.0.0.0:*                       1911/named


[root@linux ~]# nmap [扫瞄类型] [扫瞄参数] [hosts 地址与范围]

参数:

[扫瞄类型]:主要的扫瞄类型有底下几种:

-sT:扫瞄 TCP 封包已建立的联机 connect() !

-sS:扫瞄 TCP 封包带有 SYN 卷标的数据

-sP:以 ping 的方式进行扫瞄

-sU:以 UDP 的封包格式进行扫瞄

-sO:以 IP 的协议 ( protocol ) 进行主机的扫瞄

[扫瞄参数]:主要的扫瞄参数有几种:

-PT:使用 TCP 里头的 ping 的方式来进行扫瞄,可以获知目前有几部计算机存活(较常用)

-PI:使用实际的 ping (带有 ICMP 封包的) 来进行扫瞄

-p :这个是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式

[Hosts 地址与范围]:这个有趣多了,有几种类似的类型

192.168.0.100

:直接写入 HOST IP 而已,仅检查一部;

192.168.0.0/24 :为 C Class 的型态,

192.168.*.*

:嘿嘿!则变为 B Class 的型态了!扫瞄的范围变广了!

192.168.0.0-50,60-100,103,200 :这种是变形的主机范围啦!很好用吧!

范例一:使用预设参数扫瞄本机所启用的 port

[root@linux ~]# nmap localhost

PORT STATE SERVICE

22/tcp open ssh

25/tcp open smtp

80/tcp open http

139/tcp open netbios-ssn

# 在预设的情况下, nmap 仅会扫瞄 TCP 的协议喔!

nmap 的用法很简单吶!就直接在指令后面接上 IP 或者是主机名称即可。不过,在预设的情况下 nmap 仅

会帮你分析 TCP 这个通讯协议而已,像上面这个例子,他只会帮我列出 4 个已经开启的 TCP 的端口口号

码, 但优点是顺道也将开启该埠口的服务也列出来了,真是好! ^_^!那如果想要同时分析 TCP/UDP 这

两个常见的通讯协议呢?可以这样做:

[root@linux ~]# nmap -sTU localhost

PORT STATE

SERVICE

22/tcp open

ssh

25/tcp open

smtp

80/tcp open

http

137/udp open|filtered netbios-ns

138/udp open|filtered netbios-dgm

139/tcp open

netbios-ssn

嘿嘿!与前面的范例比较一下,你会发现这次多了两个 UDP 的埠口,分别是 137 与 138 , 这样分析好

多了吧!然后,如果你想要了解一下到底有几部主机活在你的网络当中时, 则可以这样做:

[root@linux ~]# nmap -sP 192.168.10.0/24

Host 192.168.10.171 appears to be up.

MAC Address: 00:01:E6:B3:AA:CC (Hewlett-Packard Company)

Host 192.168.10.174 appears to be up.

MAC Address: 00:04:75:FF:CC:DD (3 Com)

Host 192.168.10.175 appears to be up.

MAC Address: 00:0C:6E:BA:11:22 (Asustek Computer)

看到否?你的环境当中有三部主机活着吶!并且该 IP 所对应的 MAC 也会被记录下来, 很不错吧!如果

你还想要将各个主机的启动的 port 作一翻侦测的话,那就得要使用:

[root@linux ~]# nmap 192.168.10.0/24

之后你就会看到一堆 port number 被输出到屏幕上啰~如果想要随时记录整个网段的主机是否不小心开

放了某些服务, 嘿嘿!利用 nmap 配合数据流重导向 (>, >> 等) 来输出成为档案, 那随时可以掌握住

您局域网络内每部主机的服务启动状况啊! ^_^

抱歉!评论已关闭.