linux 通過哪個命令可以查看某個服務及其端口、進程號


netstat/lsof  
netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況  
-a 顯示一個所有的有效連接信息列表(包括已建立的連接,也包括監聽連接請求的那些連接)  
-n 顯示所有已建立的有效連接  
-t tcp協議  
-u udp協議  
-l 查詢正在監聽的程序  
-p 顯示正在使用socket的程序識別碼和程序名稱  
例如:netstat -ntupl|grep processname  
如何只查詢tomcat的連接?  
netstat -na|grep ESTAB |grep 80 |wc-l  
netstat -na|grep ESTAB |grep 8080 |wc-l  
常用端口介紹:  
端口:21  
服務:FTP服務器所開放的端口,用於上傳、下載。  
端口: 22  
服務:ssh  
端口: 80  
服務:HTTP 用於網頁瀏覽  
端口:389  
服務:LDAP ILS 輕型目錄訪問協議和NetMeetingInternet Locator Server  
端口:443  
服務:網頁瀏覽端口 能提供加密和通過安全端口傳輸的另一種HTTP  
端口:8080  
服務:代理端口  
打開終端,執行如下命令,查看各進程占用端口情況:  
  
# ps -ef|wc -l //查看后台運行的進程總數  
# ps -fu csvn //查看csvn進程  
  
# netstat -lntp //查看開啟了哪些端口  
# netstat -r //本選項可以顯示關於路由表的信息  
# netstat -a //本選項顯示一個所有的有效連接信息列表  
# netstat -an|grep 8080  
# netstat -na|grep -i listen //可以看到目前系統偵聽的端口號  
# netstat -antup //查看已建立的連接進程,所占用的端口。  
netstat -anp|grep1487  
lsof -i:1487  
查看哪些進程打開了指定端口1487  
  
關閉端口實際上是關閉其對應的服務,比如80端口是HTTPD 關閉80端口可以通過關閉httpd服務來實現  
每個端口都有一個守護進程,kill掉這個守護進程就可以了  
主機的端口分為監聽端口與隨機可用的高級端口  
監聽端口:監聽端口就是主機開啟了哪些服務,這個服務會在linux系統里啟用一個端口來監聽客戶端的請求  
隨機可用的高級端口:  
linux要向某個主機請求服務時,linux主機需要啟用一個端口來對外連接linux會隨機去用一個未被使用且端口號大於1024的端口進行連接  
只有root用戶可以開啟1-1024端口表明擁有root權限  
netstat-n 顯示連接狀態  
netstat-tl 顯示當前正在監聽的服務名稱  
linux是一個列出當前系統打開文件的工具,在linux環境下,任何事物都以文件的形式存在。  
lsof輸出信息 即可顯示系統打開的文件默認顯示所有進程打開的所有文件  
lsof filename 顯示打開指定文件的所有進程  
lsof -c string 顯示command列中包含指定字符的進程所有打開的文件  
lsof -u username 顯示所屬user進程打開的文件  
lsof -g gid 顯示歸屬gid的進程情況  
lsof -i 顯示符合條件的進程情況  
lsof -d 顯示指定文件描述符的進程  
lsof -a 標示兩個參數都必須滿足時才顯示結果  
例如: lsof-i:1487  
查看所屬root用戶進程所打開的文件類型為txt的文件:  
lsof -a -u root -d txt  
lsof使用實例  
1.查找使用文件系統  
卸載文件系統時,如果文件系統中有任何打開的文件,就會出錯。可以通過lsof可以找出那些進程在使用當前卸載的文件系統  
# lsof /GTES11/  
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME  
bash 4208 root cwd DIR 3,1 40962 /GTES11/  
vim 4230 root cwd DIR 3,1 40962 /GTES11/  
2.恢復刪除的文件  
當linux計算機受到入侵時,常見的情況是日志文件被刪除,管理錯誤也會導致意外刪除重要的文件。  
當進程打開了某個文件時,只要該進程保持打開該文件時,即使刪除,依然存在於磁盤上。這意味着,進程並不知道文件已被刪除,在/proc目錄下,其中包含了反映內核和進程樹的各種文件。  
當系統中的某個文件被意外地刪除了,只要這個時候系統中還有進程正在訪問文件,可以通過lsof從/proc目錄下恢復該文件  
使用lsof來查看當前是否有進程打開/var/logmessages文件  
# lsof |grep /var/log/messages syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted) 從/proc/1283/fd/2  
對於許多應用程序,尤其是日志文件和數據庫,這種恢復刪除文件的方法非常有用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM