平時我們玩linux的時候有時需要看下伺服器是不是開放了一些埠號,然後看新的埠會不會衝突之類,講檢視伺服器開放埠號之前,先了解一下物理埠、邏輯埠、埠號等計算機概念。
在網路技術中,埠(port)包括邏輯埠和物理埠兩種型別。物理埠指的是物理存在的埠,如adsl modem、集線器、交換機、路由器上用 於連線其他網路裝置的介面,如rj-45埠、sc埠等等。邏輯埠是指邏輯意義上用於區分服務的埠,如tcp/ip協議中的服務埠,埠號的範圍從0到65535,比如用於瀏覽網頁服務的80埠,用於ftp服務的21埠等。由於物理埠和邏輯埠數量較多,為了對埠進行區分,將每個埠進行了編號,這就是埠號
埠按埠號可以分為3大類:
1:公認埠(well known port)
公認埠號從0到1023,它們緊密繫結與一些常見服務,例如ftp服務使用埠21,你在 /etc/services 裡面可以看到這種對映關係。
2:註冊埠(registered ports):
從1024到49151。它們鬆散地繫結於一些服務。也就是說有許多服務繫結於這些埠,這些埠同樣用於許多其它目的.
3: 動態或私有埠(dynamic and/or private ports)
動態埠,即私人埠號,是可用於任意軟體與任何其他的軟體通訊的埠數,使用網際網路的傳輸控制協議,或使用者傳輸協議。動態埠一般從49152到65535。
linux中有限定埠的使用範圍,如果要為程式預留某些埠,那麼需要控制這個埠範圍。/proc/sys/net/ipv4/ip_local_port_range定義了本地tcp/udp的埠範圍,也可以在/etc/sysctl.conf裡面定義net.ipv4.ip_local_port_range = 1024 65000
埠有什麼用呢?一台擁有ip位址的主機可以提供許多服務,比如web服務、ftp服務、smtp服務等,這些服務完全可以通過1個ip位址來實現。那麼,主機是怎樣區分不同的網路服務呢?顯然不能只靠ip位址,因為ip 位址與網路服務的關係是一對多的關係。實際上是通過「ip位址+埠號」來區分不同的服務的。
埠號與相應服務的對應關係存放在/etc/services檔案中,這個檔案中可以找到大部分埠。
1:nmap工具檢測開放埠
nmap是一款網路掃瞄和主機檢測的工具。nmap的安裝非常簡單,如下:
# rpm -ivh nmap-4.11-1.1.x86_64.rpm # rpm -ivh nmap-frontend-4.11-1.1.x86_64.rpm
nmap 127.0.0.1 檢視本機開放的埠,會掃瞄所有埠。 當然也可以掃瞄其它伺服器端口。
2:netstat 工具檢測開放埠
不過這個工具沒有nmap簡潔明瞭。
3:lsof 工具檢測開放埠
4: 使用telnet檢測埠是否開放伺服器端口即使處於監聽狀態,但是防火牆iptables遮蔽了該埠,是無法通過該方法檢測埠是否開放的。
5:netcat工具檢測埠是否開放。
django 檢視request的詳細引數
如果需要檢視前台傳來的header中的詳細引數並獲取的話,使用以下方式即可 在views.py中新增以下函式 from django.core.handlers.wsgi import wsgirequest def test request print type request 列印出reques...
檢視core dumped的詳細錯誤原因
什麼是core dump?今天除錯乙個程式,用到了core dump,於是寫出來,記於此.什麼是core dump?core的意思是記憶體,dump的意思是扔出來,堆出來.開發和使用unix程式時,有時程式莫名其妙的down了,卻沒有任何的提示 有時候會提示core dumped 這時候可以檢視一下...
Es 檢視集群詳細資訊
cat allocation 檢視單節點的shard分配整體情況 cat shards 檢視各shard的詳細情況 cat shards 檢視指定分片的詳細情況 cat master 檢視master節點資訊 cat nodes 檢視所有節點資訊 cat indices 檢視集群中所有index的詳...