個端口被哪個服務占用?有多少個開放端口?本文介紹如何掃描 Linux 系統或任何遠程系統上開放的端口。
無論您是使用 Linux 作為服務器還是桌面環境,了解開放的端口或正在使用的端口在各種情況下都會有所幫助。
例如,如果您正在運行基于 Apache 或 Ngnix 的 Web 服務器,則使用的端口應該是 80 或 443。檢查端口將確認這一點。同樣,您可以檢查 SMTP 或 SSH 或其他一些服務正在使用哪個端口。在將端口分配給新服務時,了解哪些端口正在使用是很有必要的。
您還可以檢查是否有端口被用于安全入侵。
在 Linux 中有多種檢查端口的方法。我將在本文中分享我最喜歡的兩種方法。
如果您直接或通過 SSH 登錄到系統,則可以使用 lsof 命令檢查其端口。
sudo lsof -i -P -n
lsof 命令用于查找用戶使用的文件和進程。這里用到的選項是:
然而,上面命令也向我們展示了許多計算機實際上并未監聽的額外端口。
您可以將此命令的輸出通過管道傳輸到 grep 命令并匹配模式“LISTEN”,如下所示:
sudo lsof -i -P -n | grep LISTEN
這樣只會顯示我們的計算機正在監聽的端口以及哪個服務正在使用所述開放端口。
nc (Netcat) 是一個命令行實用程序,它使用 TCP 和 UDP 協議通過網絡在計算機之間讀取和寫入數據。
下面給出了 nc 命令的語法:
nc [options] host port
這個實用程序有一個 -z 標志。使用時,它將使 nc 掃描偵聽守護程序而不實際向端口發送任何數據。
將此與 -v 標志結合使用,啟用詳細模式,您可以獲得詳細的輸出。
以下是使用 nc 命令掃描系統開放端口的命令:
nc -z -v <IP-ADDRESS> 1-65535 2>&1 | grep -v 'Connection refused'
將 IP-ADDRESS 替換為您正在檢查端口的 Linux 系統的 IP 地址??梢允潜緳Cip 127.0.0.1,也可以是遠程機器的ip地址。
至于我為什么選擇值 1 到 65535,那是因為端口范圍從 1 開始,到 65535 結束。
最后,將輸出通過管道傳遞給 grep 命令。使用 -v 選項,它會排除任何返回包括 “Connection refused” 的行。
這將顯示計算機上打開的所有端口,這些端口可由網絡上的另一臺計算機訪問(在防火墻允許的情況下)。
在這兩種方法中,我更喜歡 lsof 命令。它比 nc 命令更快。但是,您需要登錄系統并擁有 sudo 訪問權限。換句話說,如果您正在管理系統,則 lsof 是更合適的選擇。
nc 命令具有無需登錄即可掃描端口的靈活性,但當掃描遠程主機時因為需要網絡交互會很慢, 特別是面臨超時請求時,可使用 -q secs 參數設置超時時間。
. 工程下載失???
網線下載:提示請檢查 HMI 的 IP 地址與端口號設置,檢查 IP 是否輸入正
確,進入觸摸屏系統設置確定下載端口號和下載密碼無誤。保證電腦和 HMI
在同一個網段,可在 CMD 控制臺輸入 ping 192.168.XX.XX(HMI IP 地址),
ping 不通的話修改 HMI 或電腦的 IP 地址,使兩者保持在同一網段。若 HMI
和電腦的 IP 設置無誤仍無法下載,更換網線,確定網線和電腦網口沒問題的
前提下還是無法下載,考慮 HMI 網口損壞,直接返修。 若使用了交換機或
者路由器,去掉交換機或路由器,使用網線直連 HMI 和電腦,重復上述操作。
U 盤下載:確定 U 盤格式為 FAT32 格式,確定工程文件放在非中文名文件
夾里,進入 HMI 系統設置勾選識別到外部存儲裝置后彈出窗口。若 U 盤格
式正確,HMI 仍然無法識別 U 盤,考慮 USB 口損壞,直接返修。
USB 線下載:提示請檢查 USB 線和密碼,核實設備管理器中驅動是否正常,
Weintek 有感嘆號,右擊手動更新驅動,選中 EB Pro 軟件安裝目錄下的
usbdriver 文件夾,點擊安裝即可。驅動無法安裝,建議卸載觸摸屏編程軟件
重新安裝;驅動正常,硬件問題,多次插拔 U 口試試看,如不行,換跟數據
線,如還是不行,建議換臺電腦測試看看,還是不行,考慮觸摸屏 USB 口硬
件問題,返廠檢測。
2. 觸摸屏顯示 PLC No Response 或者 HMI 不顯示 PLC 的數據?
HMI 和 PLC 沒有通訊上。
網口通訊:首先確定通訊協議和 PLC 站號無誤,然后確定 HMI 和 PLC 在同
一個網段,確定 PLC 的 IP 和工程配置里的 IP 一樣,如確定都無誤后仍然無法通訊,請更換網線,確定網線和 PLC 網口沒有問題的前提下仍然無法通訊,
考慮 HMI 網口損壞,直接返修。
串口通訊:首先確定通訊協議和 PLC 站號無誤,重點檢查通訊線和 COM 口,
HMI 引腳定義可在 EB Pro 軟件的“文件-幫助主題-目錄-硬件設置-通訊端
口腳位定義”中查看,與 PLC 的接線方式可在“PLC 通訊連接手冊里查看”,
入下圖所示,若以上全無問題,確定 PLC 串口無問題的情況下,考慮 HMI 硬
件問題,直接返修。
3. 從觸摸屏導出工程后無法用軟件打開?
從 cMT X 系列的 HMI 里導出工程后需要反編譯后才能正常打開,反編譯工
具位于 EB Pro 的“文件-反編譯”。若導出的文件沒有“.cxob”的后綴,則
手動修改文件名,加上“.cxob”后進行反編譯。
從 iE、iP 以及 TK 系列的 HMI 里導出工程后,打開導出的文件夾,點擊進
入“
001”文件夾,選中里面的文件,手動重命名文件,加上“.exob”后綴,
如下圖所示,然后進行反編譯。
4. 通訊慢或者數據讀取緩慢?
若單頁面數據過多,建議減少單頁面數據量;將 PLC 通訊參數里的“通訊延
時”加大,建議范圍“0-100”,每次增加 10;若還不行,使用網口通訊會極
大改善;若仍然慢,建議使用 cMT X 系列 HMI。
5. HMI 畫面卡頓?
可使用 LW9025 監控 CPU 使用率,若使用率過高,減少窗口和圖片數量,
或者使用 cMT X 系列 HMI。
6. 通訊周期怎么設置?
通訊周期是由 CPU 刷新周期決定的,固定且不可調。7. EB Pro 軟件顯示不全或者一片黑?
在 EB Pro 軟件安裝目錄下運行“DisplaySetting”程序,選擇“Software
render”后重啟軟件,如下圖所示;若還是不行可將屏幕顯示設置成 100%,
并重啟軟件。
8. 忘記系統設置密碼?
默認密碼是“111111”,修改密碼后忘記密碼可恢復出廠設置(注意備份工
程文件)。
9. HMI 如何恢復出廠設置?
進入系統設置,勾選“觸控校準后恢復出廠設置”,然后斷電,上電前長按觸
摸屏,進入校準畫面,按提示長按光標 2 秒即可;cMT X 系列可直接在系統
設置中選擇“恢復出廠設置”。
若沒有勾選“觸控校準后恢復出廠設置”且忘記系統密碼,將觸摸屏背后的SW1 和 SW2 撥碼開關置于 ON,斷電重啟按提示操作即可,恢復后將 SW1
和 SW2 恢復原位。
若沒有撥碼開關且忘記系統密碼,打開觸摸屏后蓋,將 SW1 和 SW2 短接,
長按觸摸屏上電進入觸控校準界面,按照上述操作進行校準并恢復出廠設置。
10.中文下載到 HMI 里顯示方框?
編譯時勾選“建立字體文件”,使用支持中文的字體,比如“宋體、黑體等”。
11.打開工程提示字體缺失和圖片缺失?
反編譯工程文件后再打開。
12.離線/在線模擬時報錯?
打開 CMD 面板,輸入“netstat -ano”可查看被占用的端口號,一些后臺程序
會占用大量端口號,選擇一個未被占用的即可,修改模擬端口號如下圖所示。
或者重啟電腦,重啟能關閉一些后臺軟件。
13.上傳工程文件出錯?
提示上傳錯誤,工程被禁止上傳了。
提示密碼錯誤,請輸入正確的上傳密碼。
14.反編譯出錯?
提示被保護無法反編譯,工程被禁止反編譯。
有同事最近遇到了一個問題,在運行某個程序的時候,總提示說程序端口被占用,不能運行,那么,在winserver下怎么知道端口是被哪個程序占用了呢?下面我們一起來看看具體內容。
點擊電腦左下角的開始,然后選擇運行選項,接著我們在彈出的窗口中,輸入【cmd】命令,進行命令提示符。
然后在窗口中輸入【netstat -ano】按下回車,即會顯示所有的端口占用情況。如圖所示:
在窗口中,繼續輸入【netstat -aon|findstr "提示的端口"】,例如提示的端口為8080,那么就輸入命令為【netstat -aon|findstr "8080"】,回車之后就可以看見列表中的PID,然后根據PID在電腦的任務管理器中查看對應的占用程序,接著進行關閉即可。
如果在上面步驟之后,我們得到的PID為9564,那么就可以輸入命令【tasklist|findstr "9564"】,在第一行顯示的名字就是程序名,以下可以看到很明顯是微信占用的端口。
輸入命令【taskkill /f /t /im 程序名】即可
后面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~
如果你覺得這篇文章對你有幫助, 請小小打賞下.