Linux系統(tǒng)和Windows系統(tǒng)有很大的不同,不僅僅是它本身的操作界面和操作方式,系統(tǒng)的運(yùn)行機(jī)制也不一樣。因此我們?cè)谑褂肔inux系統(tǒng)的時(shí)候可以使用netstat命令來進(jìn)行端口命令的查詢。它和各個(gè)參數(shù)相互配合就能夠幫助我們查詢到Linux系統(tǒng)計(jì)算機(jī)的很多端口狀態(tài)。比如,如果我們要在Linux系統(tǒng)中查看Mysql的默認(rèn)端口3306是否已經(jīng)被計(jì)算機(jī)啟動(dòng)了,那么就可以使用命令“netstat -ntlp”進(jìn)行查詢。
創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站營銷推廣,域名注冊(cè),網(wǎng)頁空間,綿陽服務(wù)器托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)公司。
Linux系統(tǒng)的各個(gè)不同的端口命令參數(shù)分別是:netstat -t查詢的是當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)的TCP端口信息;netstat -u則是能夠幫助我們顯示出當(dāng)前計(jì)算機(jī)UDP端口的信息;netstat -l顯示監(jiān)聽套接字的斷就信息(所謂的套接字指的是能夠使用應(yīng)用程序進(jìn)行相互通信的通信協(xié)議);netstat -p命令能夠顯示進(jìn)程的相關(guān)標(biāo)識(shí)符和程序的名稱,當(dāng)前每一個(gè)套接字和端口都可以被算作是一個(gè)程序;netstat -n命令操作之后不會(huì)進(jìn)行網(wǎng)絡(luò)DNS的輪詢,但是它能夠顯示出IP。除去以上的命令之外,netstat -ntlp|grep 80能夠幫助我們查看計(jì)算機(jī)相關(guān)的80端口的使用情況,若數(shù)字變成3306,則能夠幫助我們查看3306端口的使用情況。
您還有什么不知道的請(qǐng)?jiān)儐栁覀兊倪\(yùn)維客服:互聯(lián)數(shù)據(jù)如果能幫到你不勝榮幸,如果打擾您了請(qǐng)多見諒。
開啟端口:
如果要開啟該端口只要先在“啟動(dòng)類型”選擇“自動(dòng)”,單擊“確定”按鈕,再打開該服務(wù),在“服務(wù)狀態(tài)”中單擊“啟動(dòng)”按鈕即可啟用該端口,最后,單擊“確定”按鈕即可。
關(guān)閉端口:
比如在Windows 2000/XP中關(guān)閉SMTP服務(wù)的25端口,可以這樣做:首先打開“控制面板”,雙擊“管理工具”,再雙擊“服務(wù)”。接著在打開的服務(wù)窗口中找到并雙擊“Simple Mail Transfer Protocol (SMTP)”服務(wù),單擊“停止”按鈕來停止該服務(wù),然后在“啟動(dòng)類型”中選擇“已禁用”,最后單擊“確定”按鈕即可。這樣,關(guān)閉了SMTP服務(wù)就相當(dāng)于關(guān)閉了對(duì)應(yīng)的端口。
Linux下面沒有什么直接開啟或者關(guān)閉端口的命令,因?yàn)槿魞H僅只是開啟了端口而不把它與進(jìn)程相聯(lián)系的話,端口的開啟與關(guān)閉就顯得毫無意義了(開了端口卻沒有程序處理進(jìn)來的數(shù)據(jù))。也就是說,Linux里面端口的活動(dòng)與進(jìn)程是緊密相連的,如果想要關(guān)閉某個(gè)端口,那么只要?dú)⒌羲鼘?duì)應(yīng)的進(jìn)程就可以了。
例如要關(guān)閉22號(hào)端口:
$ netstat -anp | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1666/sshd
# -a 顯示所有活動(dòng)的TCP連接,以及正在監(jiān)聽的TCP和UDP端口
# -n 以數(shù)字形式表示地址和端口號(hào),不試圖去解析其名稱(number)
# -p 列出與端口監(jiān)聽或連接相關(guān)的進(jìn)程(有個(gè)地方需要注意,下面會(huì)提到)(pid)
知道了22號(hào)端口對(duì)應(yīng)的進(jìn)程ID 1666,只要:
$ kill 1666
即可?!?/p>
其中“-p”選項(xiàng)需要注意一個(gè)權(quán)限的問題,如果在普通用戶登錄的shell里面執(zhí)行netstat命令,那么只能列出擁有該普通用戶權(quán)限的相關(guān)進(jìn)程,如果想要看到所有的端口情況,最好還是切到root?!?/p>
附帶幾個(gè)netstat常用選項(xiàng)用法:
$ netstat -tn # 列出所有TCP協(xié)議的連接狀態(tài)
# -t 只顯示與TCP協(xié)議相關(guān)的連接和端口監(jiān)聽狀態(tài),注意和-a有區(qū)別(tcp)
$ netstat -tuln # 列出所有inet地址類的端口監(jiān)聽狀態(tài)