[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 配合数据流重导向 (>, >> 等) 来输出成为档案, 那随时可以掌握住 您局域网络内每部主机的服务启动状况啊! ^_^
netstat,nmap命令总结(鸟哥的LINUX私房菜)
最新推荐文章于 2024-01-05 22:24:21 发布