# nmap與netstate之差異 > **nmap** > **檢測主機的port,os,硬體address以及軟體版本** * 看主機開通的port![](https://i.imgur.com/JxE4GWw.jpg) 這裡開了 apache>>80 nginx>>8080 ssh>>22 mariadb>>3306(前身是mysql) * 檢視特定port ![](https://i.imgur.com/VFOGvBY.jpg) 找了22,8080,1000那跟上面的結果一樣,有開ssh以及nginx,1000的port是關閉的 * ping scan `nmap -sP` 不如前面是用來查port,而是搜尋主機是否存在網路中,要有root權限![](https://i.imgur.com/n38Cm13.jpg) * nmap的OS檢測 ```nmap -O -PN```![](https://i.imgur.com/pTty3Z1.jpg) 這裡連OS的版本都看的到 but,os的scan不那麼可靠,理由是現在的主機會對這種遠端查詢有所防範,也有預防機制 > **netstate** > **netstat 是很重要的連線觀察工具,使用新的指令ss來取代** * 查看路由表 ![](https://i.imgur.com/B0vXFXN.jpg) 這裡的gateway經過10.2.200.0,然後遮罩是自己當初設定的255.255.255.0 * 網路介面資訊![](https://i.imgur.com/otxjqeq.jpg) * 列出使用中的網路連線![](https://i.imgur.com/vatNwHd.jpg) 右邊顯示狀態,假如正在使用中的連線則會顯示`ESTABLISHED` * 列出完整的 URL 位址![](https://i.imgur.com/Bml8sOP.jpg) ![](https://i.imgur.com/YATzfhx.jpg) `ntestat -W`列出完整的URL位址 `-tup`則會簡潔的顯示,過長的URL則會被截斷 > **差異** 兩支軟體其實都是很方便的滲透程式,但在便利性上,我覺得nmap其實更簡單,不過面對現在的資安趨勢,絕大部分的server早已對nmap有所防範,在區域網路內,可以很清楚的看到所有port或是os的資訊,進行內部管理非常及時方便。 netstate更著重在網路的連線處理,更適合專業取向的人使用,可以看服務的內容甚至是封包傳遞