# 端口 # 設備與外界交流的門口,分爲物理端口(接口)與虛擬端口(端口)
# 這裏只講述虛擬的服務端口
# 一個ip地址的端口有 2的16次方個 即65536個
# 端口概念是爲了解決同一個IP地址多個請求的識別而引入的
# 根據服務類型的不同,端口分TCP端口和UDP端口
# 兩種服務類型:
# 發送信息後 會去確認信息是否到達 # 這種方式大多采用TCP協議(面向連接服務)
# 發送信息後就不管了 # 這種方式大多采用UDP協議(無連接服務)
# 端口分類
# well known ports # 默認端口
# 範圍0-1023
# 總所周知的端口,如www用80端口,ftp用21端口
# 有些端口可以改變,有些不可以該變 比如139端口
# Registered Ports # 註冊端口
# 範圍1024-49151
# 分配給用戶進程或應用程序的端口
# Dynamic Ports # 動態端口
# 範圍 49152-65535
# 不固定分配某種服務,而是動態分配
# 端口重定向 # 隱藏默認端口,降低受破壞率
端口操作
# 檢測開放端口
# 1 內置的端口開放查看命令,如果開啓了防火牆,還需要看防火牆的開放端口
netstat -tlunp
# 2 第三方工具偵察
#centos 有個叫nmap的端口偵測工具
rpm -qa | grep nmap # 是否安裝了nmap
yum install nmap # 安裝nmap
nmap ip # 展示ip對應主機對外暴露的端口,可以掃描自己
# 防火牆保護端口
# 防火牆狀態 centos7用firewall 不是原來的iptables
firewall-cmd --state/reload # 防火牆狀態/重啓
systemctl status/start/stop/reload firewalld # 防火牆 狀態/開啓/關閉/重啓
systemctl enable/disable firewalld # 開機自啓/關閉開機自啓 防火牆
firewall-cmd --list-ports # centos7 查看打開的端口
# 防火牆開放端口 其中permanent表示永久生效,public表示作用域,80/tcp表示端口和類型
firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久開放80端口
firewall-cmd --reload # 重載 防火牆
# 防火牆關閉端口
firewall-cmd --permanent --zone=public --remove-port=80/tcp
firewall-cmd --reload # 重載 防火牆
# centos7之前 防火牆(iptables)
man iptables #查看防火牆命令的幫助
service iptables status/start/stop/restart # 防火牆服務 狀態/開啓/關閉/重啓
iptables-save # 查看防火牆開放端口 # 其中 IN_public_allow 項是開放端口
iptables -I INPUT -p TCP --dport 80 -j ACCEPT # 開放指定端口(80)
# 禁止ssh服務(服務器在機房的要小心,會關閉遠程連接,導致無法遠程連接)
iptables -A INPUT -p TCP --dport 22 -j DROP # (謹慎)
80端口httpd服務
# 80端口
# httpd process # Apache HTTP Server 開放源碼的網頁服務軟件
# httpd 資源訪問:/var/www/html
# httpd 配置文件目錄:/etc/httpd/conf.d
# centos 7 操作
# 1 查看httpd安裝狀態
httpd -version
# 2 安裝httpd 默認全部
yum -y install httpd
# 3 增加開啓啓動
systemctl start httpd.service # 啓動
systemctl enable httpd # 開機啓動
# 4 查看監聽
netstat -lnt | grep 80
# 5 防火牆設置
firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久開放80端口
firewall-cmd --reload # 重載 防火牆
# centos6 操作
service httpd status #httpd服務的狀態
service httpd start/stop #啓動/關閉 配合iptables防火牆進行開閉
service --status-all | grep httpd