㈠ 如何在Linux系統下實現建立AP且提供WEB認證服務
首先選擇一款web伺服器 然後根據教程安裝就可以了 如果靜態頁那就都可以,如果要支持jsp,那麼tomcat 或者 resin 就行了,php的話就apache或者nginx都可以
㈡ 如何架設Web認證方式的上網伺服器
可以使用Linux下的Squid。下面是Ubuntu下的配置:
Ubuntu7.04下Squid代理伺服器的安裝與配置2007-07-08 19:48今天,我花了一個整整一個下午的時間總算可以用Linux(Ubuntu7.04)來開代理給校園網(區域網)內的其他同學開代理上外網吶,在設置的過程中我主要遇到了如下兩個問題(似乎跟Ubuntu復雜的用戶關系有關):
「(core mped)」
「Failed to make swap directory /var/spool/squid/00: (13) Permission denied」
上面這些問題真的弄到我有點抓狂,不過最好我把Squid有關的用新立得軟體管理器全都刪掉,按下面的做法一步步來才最終搞定,發現網上有關ubuntu squid的資料真的難找,希望其他人看了這篇文章後能少走一點彎路。
具做做法如下(參考網上的資料根據自己的實踐進行了重要的修改):
如果你認為編譯源碼比較麻煩的話,你可以用這個命令來裝:
shell~$ sudo apt-get install squid #很快就會裝上並且還自動啟動了.
Shell~$ whereis squid #可以查看squid主要文件裝到什麼地方去了.
squid默認配製是不讓任何用記使用它的,你需要做相應的修改.
shell~$ sudo gedit /etc/squid/squid.conf
然後 定位到
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
http_access allow localhost
########add by LfT
acl my_network src 10.16.7.222 10.16.8.168 10.16.6.24 #設置你允許訪問的ip
http_access allow my_network
#########end add
# And finally deny all other access to this proxy
http_access deny all
再定位到
# Squid normally listens to port 3128
########change by LfT
http_port 10.16.8.51:808 #你的區域網IP及開放的埠;原來是:http_port 3128
#########change add
# TAG: https_port
# Note: This option is only available if Squid is rebuilt with the
# --enable-ssl option
這樣當你啟用squid後,這幾個ip就可使用這個代理了.如果你還希望客戶端提供用戶名密碼才能使用的話,我們還需做點修改,繼續定位到
#Then, set this line to something like
#
# auth_param basic program /usr/lib/squid/ncsa_auth /usr/etc/passwd
######add by chenheng
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl auth proxy_auth sdau
http_access allow auth
######end add
以上修改後,你就可以啟用squid(這里假設你設置好了用戶名和密碼,如果沒有設置,參考如下)
得用apache的htpasswd工具為squid設置用戶的密碼:
shell~$ sudo htpasswd -c /etc/squid/passwd proxy_user proxy_password (passwd路徑你可以自己定製,但建議你參考官方建意,雖然我沒有照做).
如果是首次運行squid,你需要首先執行:
shell~$ sudo squid -z (作用我不好用中文解釋,但相信你一定能理解這樣做必要性)
接下來檢驗我們的配製文件是否有問題
shell~$ sudo squid -k parse
如果沒有任何消息輸出,恭喜,你可以使用squid了.
shell~$ sudo squid (後台啟動)
shell~$ sudo squid -k shutdown (用這個命令關掉代理)
如果你認為源碼安裝更好,你可以如下操作:
shell~$ sudo ./configure --prefix=/usr/local/squid —enable-basic-auth-helpers=NCSA
shell~$ sudo make
shell~$ sudo make install
然後對配製文件的修改就同上了,這里不在多說了.
這里僅僅是個人使用的簡單配製,如果你想詳細了解squid,推薦大家到(Squid中文權威指南):http://home.arcor.de/jeffpang/squid/
㈢ linux httpd服務,設置網站身份驗證
1、yum -y install httpd安裝,用htpasswd命令增加兩個用戶
htpasswd -c -d /usr/local/nginx/conf/htpasswd.users webuser1
New password:
再增加用戶時取消-c選項,否則會重新創建一個新文件
htpasswd -d /usr/local/nginx/conf/htpasswd.users webuser2
New password:
2、nginx
server {
listen 80;
location /{
auth_basic "www login";
auth_basic_user_file /usr/local/nginx/conf/htpasswd.users;
}
3、apache配置
配置httpd.conf
<Directory "/www/test">
Options Indexes
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
在限制訪問的目錄創建.htaccess文件,內容
AuthName "www login"
AuthType basic
AuthUserFile /usr/local/apache/conf/htpasswd.users;
require valid-user
4、或者
<Directory /mnt/web1> #對/mnt/web1目錄進行配置。
AuthName web1 #指定使用認證區域。
AuthType Basic
#指定使用基本身份驗證。
AuthUserFile /etc/httpd/.htpassword
#指定保存用戶及密碼的文件。
Require valid-user
#指定文件中的所有用戶均可以訪問該目錄。
</Directory>
<Directory /mnt/web2>
AuthName web2
AuthType
Basic
AuthUserFile
/etc/httpd/.web2
Require user google bing
jieshiyeskey #指定/etc/httpd/.web2文件中只有google、bing、jieshiyeskey可以訪問該目錄。
㈣ 如何在Linux下通過WEB認證方式上網
成了一個很多人遇到的問題。 IEEE 802.1x 稱為基於埠的訪問控制協議(Port based network access control protocol)。關於技術性的細節我們就不過仔細的討論了
㈤ linux認證有哪些
1. CompTIA Linxu+
CompTIA Linux+ 是LPI(Linux Professional Institute,Linux專業委員會)主辦的一個Linux認證,在全世界范圍內提供培訓。其提供的Linux相關知識,可以用於從事一大批Linux相關專業的工作,如Linux管理員、高級網路管理員、系統管理員、Linux資料庫管理員和Web管理員。如果任何人想從事安裝和維護Linux操作系統,該課程會幫助他達到認證要求,並且通過提供對Linux系統更寬闊的認識,能夠為通過考試做好准備。LPI的CompTIA Linux+認證的主要目的就是,提供給證書持有者足夠扎實的,關於安裝軟體、操作、管理和設備排障的知識。我們可以付出一定的費用、時間和努力,完成CompTIA Linux+,同時獲得三個業內認可的證書:LPI LPIC-1和SUSE Certified Linux Administrator (CLA)證書。
認證代碼 : LX0-103,LX0-104(2015年3月30日啟動)或者LX0-101,LX0-102
題目數量:每次考試60道題
題目類型:多選
考試時長:90分鍾
要求:A+,Network+,並且有至少12個月的Linux管理經驗
分數線:500 (對於200-800的范圍來說)
語言:英語,將來會有德語,葡萄牙語,繁體中文,西班牙。
有效期:認證後三年有效
注意:不同系列的考試不能合並。如果你考的是LX0-101,那麼你必須考LX0-102完成認證。同樣的,LX0-103和LX0-104又是一個系列。LX0-103和LX0-104系列是LX0-101和LX0-102系列的升級版。
2. LPIC
LPIC,全稱Linux專業委員會認證( Linux Professional Institute Certification),是Linux專業委員會的一個Linux認證程序。這是一個多級別的認證程序,要求在每個級別通過一系列(通常是兩個)的認證考試。該認證有三個級別,包括初級水平認證 LPIC-1 ,高級水平認證 LPIC-2和最高水平認證 LPIC-3。前兩個認證側重於 Linux系統管理,而最後一個認證側重一些專業技能,包括虛擬化和安全。為了得到 LPIC-3 認證,一個持有有效的 LPIC-1 與LPIC-2 認證的考生必須通過300復雜環境測試、303安全測試、304虛擬化測試和高可用性測試中的一個。LPIC-1認證按照證書持有者可以通過運行Linux,使用命令行界面和基本的網路知識安裝,維護,配置等任務而設計,LPIC-2測試考生是否作為管理中小型混合網路的候選人。LPIC-3認證是為企業級Linux專業技能設計所設計,代表了最高的專業水平和不針對特定 Linux 發行版的行業認證。
認證代碼:LPIC-1(101和102),LPIC-2(201和202)和LPIC-3(300,303或者304)
題目類型:60個多項選擇
考試時長:90分鍾
要求:無,建議有 Linux Essentials 認證
分數線:500(在200-800的范圍內)
語言:LPIC-1:英語,德語,義大利語,葡萄牙語,西班牙語(現代),漢語(簡體),漢語(繁體),日語
LPIC-2:英語,德語,葡萄牙語,日語
LPIC-3:英語,日語
有效期:退休之後五年內仍然有效
3.Oracle Linux OCA
Oracle聯合認證(OCA)為個人而定製,適用於那些想證明其部署和管理Oracle Linux操作系統的知識牢固的人。該認證專業知識僅僅針對Oracle Linux發行版,這個系統完全是為Oracle產品特別剪裁的,可以運行Oracle設計的系統,包括Oracle Exadata資料庫伺服器,Oracle Exalytics In-Memory 伺服器,Oracle Exalogic 均衡雲,和Oracle資料庫應用等。Oracle Linux的「堅不可摧企業內核」為企業應用帶來了高性能、高擴展性和穩定性。OCA認證覆蓋了如管理本地磁碟設備、管理文件系統、安裝和移除Solaris包與補丁,優化系統啟動過程和系統進程。這是拿到OCP證書系列的第一步。OCA認證以其前身為Sun Certified Solaris Associate(SCSAS)而為人所知。
認證代碼:OCA
題目類型:75道多項選擇
考試時長:120分鍾
要求:無
分數線:64%
有效期:永遠有效
4. Oracle Linux OCP
Oracle專業認證(OCP)是Oracle公司為Oracle Linux提供的一個認證,覆蓋更多的進階知識和技能,對於一個Oracle Linux管理員來說。它囊括的知識有配置網路介面、管理交換分區配置、崩潰轉儲、管理軟體、資料庫和重要文件。OCP認證是技術性專業知識和專業技能的基準測試,這些知識與技能需要在公司里廣泛用於開發、部署和管理應用、中間件和資料庫。Oracle Linux OCP的工作機會在增長,這得益於工作市場和經濟發展。根據考試綱領,證書持有者有能力勝任安全管理、為Oracle 資料庫准備Oracle Linux系統、排除故障和進行恢復操作、安裝軟體包、安裝和配置內核模塊、維護交換空間、完成用戶和組管理、創建文件系統、配置邏輯卷管理(LVM)、文件分享服務等等。
認證代碼:OCP
題目類型:60至80道多項選擇題
考試時長:120分鍾
要求:Oracle Linux OCA
分數線:64%
有效期:永遠有效
5. RHCSA
RHCSA是紅帽公司作為紅帽認證系統工程師推出的一個認證程序。RHCSA們是指一些擁有在著名的紅帽Linux環境下完成核心系統管理技能和能力的人。這是一個入門級的認證程序,關注在系統管理上的實際勝任能力,包括安裝、配置一個紅帽Linux系統,接入一個可用的網路提供網路服務。一個紅帽認證的系統管理員可以理解和使用基本的工具,用以處理文件、目錄、命令行環境和文檔;操作運行中的系統,包括以不同的啟動級別啟動、識別進程、開啟和停止虛擬機和控制服務;使用分區和邏輯卷配置本地存儲;創建和配置文件系統和文件系統屬性,包括許可權、加密、訪問控制列表和網路文件系統;部署配置和維護系統,包括軟體安裝、更新和核心服務;管理用戶和組,包括使用一個中心的目錄用於驗證;安全性的工作,包括基本的基本防火牆和SELinux配置。要獲得RHCE和其他認證,首先得認證過RHCSA。
認證代碼:RHCSA
課程代碼:RH124,RH134和RH199
考試代碼:EX200
考試時長:21-22小時,取決於選擇的課程
要求:無。有一些Linux基礎知識更好
分數線:300總分,210過(70%)
有效期:3年
6. RHCE
RHCE,也叫做紅帽認證工程師,是一個中到高級水平的認證程序,為一些想要學習更多技能和知識,成為一個負責紅帽企業Linux的高級系統管理員的RHCSA開設的,RHCE應該有能力、知識和技能來配置靜態路由、包過濾、NAT、設定內核運行參數、配置一個ISCSI初始化程序,生成並發送系統用量報告、使用shell腳本自動完成系統維護任務、配置系統日誌,包括遠程日誌、提供網路服務如HTTP/HTTPS、FTP、NFS、SMB、SMTP、SSH和NTP等等。推薦希望獲得更多高級水平的認證的RHCSA們、已經完成系統管理員I,II和III、或者已經完成RHCE 快速跟進培訓的人們參加認證。
認證代碼:RHCE
課程代碼:RH124,RH134,RH254和RH199
考試代碼:EX200和EX300
考試時長:21-22個小時,取決於所選課程
要求:一個RHCSA證書
分數線:300總分,210過(70%)
有效期:3年
7. RHCA
RHCA即紅帽認證架構師,是紅帽公司的一個認證程序。它的關注點在系統管理的實際能力,包括安裝和配置一個紅帽Linux系統,並加入到一個可用網路中運行網路服務。RHCA是所有紅帽認證中最高水平的認證。考生需要選擇他們希望針對的領域,或者選擇合格的紅帽認證的任意組合來創建一個他們自己的領域。這里有三個主要的領域:數據中心、雲和應用平台。精通數據中心領域的RHCA能夠運行、管理數據中心;而熟悉雲的可以創建、配置和管理私有雲和混合雲、雲應用平台以及使用紅帽企業Linux平台的靈活存儲方案;精通應用平台集合的RHCA擁有技能如安裝、配置和管理紅帽JBoss企業應用平台和應用,雲應用平台和混合雲環境,藉助紅帽的OpenShift企業版,使用紅帽JBoss數據虛擬化技術從多個資源里組合數據。
認證代碼:RHCA
課程代碼:CL210,CL220.CL280,RH236,RH318,RH413,RH436,RH442,JB248和JB450
考試代碼:EX333,EX401,EX423或者EX318,EX436和EX442
考試時長:21-22個小時,取決於所選課程
要求:未過期的RHCE證書
分數線:300總分,210過(70%)
有效期:3年
8. SUSE CLA
SUSE認證Linux管理員(SUSE CLA)是SUSE推出的一個初級認證,關注點在SUSE Linux企業伺服器環境下的日常任務管理。為了獲得SUSE CLA認證,不用必須完成課程任務,只需要通過考試就能獲得認證。SUSE CLA們能夠、也有技術去使用Linux桌面、定位並利用幫助資源、管理Linux文件系統、用Linux Shell和命令行工作、安裝SLE 11 SP22、管理系統安裝、硬體、備份和恢復、用YaST管理Linux、Linux進程和服務、存儲、配置網路、遠程接入、SLE 11 SP2監控,任務自動化和管理用戶訪問和安全工作。我們可以同時獲得SUSE CLA,LPIC-1和CompTIA Linux認證,因為SUSE,Linux Professional Institute和CompATI合作提供了這個同時獲得三個Linux認證的機會。
認證代碼:SUSE CLA
課程代碼:3115,3116
考試代碼:050-720,050-710
問題類型:多項選擇
考試時長:90分鍾
要求:無
分數線:512
9. SUSE CLP
SUSE認證Linux專業人員(CLP)是一個認證程序,為那些希望獲得關於SUSE Linux企業伺服器更多高級且專業的知識的人而服務。SUSE CLP是通過SUSE CLA認證後的下一步。應該通過CLA的考試並擁有證書,然後通過完成CLP的考試才能獲得CLP的認證。通過SUSE CLP認證的人員有能力完成安裝和配置SLES 11系統、維護文件系統、管理軟體包、進程、列印、配置基礎網路服務、samba、Web伺服器、使用IPv6、創建和運行bash shell腳本。
認證代碼:SUSE CLP
課程代碼:3115,3116和3117
考試代碼:050-721,050-697
考試類型:手寫
考試時長:180分鍾
要求:SUSE CLA 認證
10. SUSE CLE
SUSE認證Linux工程師(CLE)是一個工程師級別的高級認證,為那些已經通過CLE考試的人准備。為了獲得CLE認證,人們需要已經獲得SUSE CLA和CLP的認證。獲得CLE認證的人員擁有架設復雜SUSE Linux企業伺服器環境的技能。CLE認證過的人可以配置基本的網路服務、管理列印、配置和使用Open LDAP、samba、IPv6、完成伺服器健康檢測和性能調優、創建和執行shell腳本、部署SUSE Linux企業板、通過Xen實現虛擬化等等。
認證代碼:SUSE CLE
課程代碼:3107
考試代碼:050-723
考試類型:手寫
考試時長:120分鍾
要求:SUSE CLP 10或者11證書
11. LFCS
Linux基金會認證系統管理員(LFCS)認證考生使用Linux和通過終端環境使用Linux的知識。LFCS是Linux基金會的一個認證程序,為使用Linux操作系統工作的系統管理員和工程師准備。Linux基金會聯合業內專家、Linux內核社區,測試考生的核心領域、關鍵技能、知識和應用能力。通過LFCS認證的人員擁有一些技能、知識和能力,包括在命令行下編輯和操作文件、管理和處理文件系統與存儲的錯誤、聚合分區作為LVM設備、配置交換分區、管理網路文件系統、管理用戶帳號/許可權和屬組、創建並執行bash shell腳本、安裝/升級/移除軟體包等等。
認證代碼:LFCS
課程代碼:LFCS201,LFCS220(可選)
考試代碼:LFCS 考試
考試時長:2小時
要求:無
分數線:74%
語言:英語
有效期:兩年
12. LFCE
Linux基金會認證工程師(LFCE),是Linux基金會為Linux工程師推出的認證。相比於LFCS,通過LFCE認證的人員在Linux方面擁有更大范圍的技能。這是一個工程師級別的高級認證程序。LFCE認證的人具備一些網路管理方面的技能和能力,如配置網路服務、配置包過濾、監控網路性能、IP流量、配置文件系統和文件服務、網路文件系統、從倉庫安裝/升級軟體包、管理網路安全、配置iptables、http服務、代理服務、郵件服務等等。由於其為高級工程級別的認證程序,所以普遍認為相比LFCS,學習和通過的難度更大些。
認證代碼:LFCE
課程代碼:LFS230
考試代碼:LFCE 考試
考試時長:2小時
要求:認證過LFCS
分數線:72%
語言:英語
有效期:2年
㈥ 通過WEB認證後才能上網,這種功能是怎麼實現的(開發這種軟體,提示下原理) 環境:linux或者WINDOWS
WEB認證主流方法是通過「網關認證」實現的(可以參考網路配置中的網關),有硬體網關與軟體網關兩大類。即訪問網路的數據先被送入網關,然後經過驗證確定用戶是否具備該許可權。這類技術一般是基於用戶的,也有基於地址的,但是基於地址的遠不如基於用戶的靈活。軟體網關通常都是一套安裝在伺服器上的軟體,然後所有聯網計算機指向該伺服器即可。由於需要接受並處理大量的用戶請求,所以對軟體或者伺服器都有較高的要求。希望能夠幫助到你!
㈦ 如何在 Linux 下通過 WEB 認證方式上網
問題就在這些 Web 頁面使用 IE 方言的 JavaScripts 上,有幾種解決方法:
1。使用 Linux 下 IE 兼容的瀏覽器,有嗎?誰知道請告訴我。
2。使用 wine + IE 的方法,有成功的嗎?大家共同分享。
3。如果將這些鳥語改為普通話,我們就可以用 Mozilla 等非 IE 瀏覽器通過 Web 認證方式上網了。
4。要求 ISP 提供支持 W3C 標準的認證頁面。
5。分析 web 認證的原理,編寫認證程序。
最理想的方法四,可是我等不急,也不一定能等到,也許你比我幸運。我採取第三種方法,對於方法三,你一定會問:認證頁面在 Web Server 上,我無權修改,行不通。確實如此,這里有個變通的辦法:下載認證頁面,按照 JavaScripts 標准修改並保存在本地,每次上網前用本地經過修改的 Web 認證頁面而非 Web Server 的認證頁面就可以了。具體修改方法, 找出認證頁面使用 IE 方言的 JavaScritps,根據對照表提供的修改建議對你的認證頁面作出相應修改。對於使用.cab 的認證頁面,情況就比較復雜。需要分析這個.cab 在你的 JavaScripts 中的用法,判斷它的功能,我這里是用它獲得本地 IP。所以,我在本地執行腳本獲得 IP 來模擬這個功能。似乎.cab 多與 IP 有關。
一個例子
* 以我這里為例,我的使用環境:
ISP:鐵通 ADSL
認證方式:Web 認證
ISP 的接入伺服器:華為 Quidway MA5200E/F (具體型號不能完全確定)
Linux:GENTOO 1.4 rc-3
Browser: Mozilla 1.4a/Phoenix 0.5
* 在 Linux 下用 mozilla (一定要用非 IE 瀏覽器獲得認證頁面,這話有點多餘,但有的用戶是在 Window$ 下調試的),訪問 ISP 的 WEB 認證頁面時,瀏覽器中沒有顯示任何內容,根本無法輸入帳號和密碼,更談不上通過認證。這難不倒咱 linuxer, 查看認證頁面(/index.jsp)源碼,發現這兩段 javascript:
id="PortalClient"
codebase=http://61.61.61.61:80/PortalAX.cab#version=1,0,1,8
...
var clientIp = PortalClient.localIP;
var languagetype = 0;
if ((clientIp=="")(clientIp==null)) {
window.parent.location.href="/ipError.jsp";
} else {
window.parent.location.href="/queryPort.jsp?ip="+clientIp+"newbl="+languagetype;
}
可以看出它用 PortalClient 獲得本地的 IP,如果成功,轉到 http://你的WEB認證頁面/queryPort.jsp?ip=你當前的IP 。而 Mozilla 不支持它獲取 IP (PortalClient,是針對IE的,唉,這個程序編得太短視),看來問題出在這里。既然如此,我們可以手工加上自己的 IP(這個 IP 是與 ADSL 相聯的網卡從 ISP 的 DHCP 伺服器獲得的地址)。在 Mozilla 地址欄中輸入:
http://61.61.61.61/queryPort.jsp?ip=192.168.0.2
--------^^^^^^^^^^^------------------^^^^^^^^^^^
--------你的ISP認證伺服器 ------------- 你當前的IP
嗒嗒,登錄頁面出來啦!
趕快輸入帳號,密碼,按登錄按鈕(期待中。。。)。
viva!!!
ISP 的首頁終於被揪出來啦,在終端中 ping www.gnu.org ,ping 通,沒問題。
* 至此,在 Linux 下 web 認證方式已經完成。方法很簡單,每次上網時,在 mozilla 的地址欄中輸入:
http://你的ISP認證伺服器地址/queryPort.jsp?ip=你當前的IP
登錄頁面出來後,和 IE 中的操作過程完全一樣。
* 當然你可以把這些步驟寫成一個腳本,以後簡單執行腳本就可以了。
#!/bin/bash
dhcpcd eth1
phoenix http://61.61.61.61/queryPort.jsp?ip=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:` &
說明:
eth1 是與 ADSL 聯的網卡名,根據你的實際情況填寫。
61.61.61.61 是我這 ISP 的認證地址。
後面一段是獲得 eth1 的 ip 地址。
注意!一定要用非 IE 瀏覽器獲得調試認證頁面,因為 IE 可以執行認證頁面的 JavaScripts,有些認證過程實際上是執行多個頁面完成的,IE 最後停留的頁面不一定是起始的認證頁面,你有可能漏掉前面的重要信息,我這里就是這種情況。
另外一種方法
如果你對方法 3 不滿意,可以用方法 5,繼續分析 web 認證的原理,編寫自己的認證程序。其實搞清原理後,實現的方法更簡單,更靈活,而且在 ISP 要求客戶端定時發送 keep-alive 包的情況下,也只能採取這種方法。我是這樣做的:
1。用網路分析軟體(如:ethereal),抓取正常認證過程的通訊包;
在 windoze 下,用 ethereal 抓包。注意抓包時,除了 IE 不要啟動其它產生網路通訊的程序,以免產生干擾數據;保存這些通訊包。
2。分析所抓包的內容;
只要看一眼 web 認證過程產生的通訊包,你就明白我為什麼說這種方法更簡單了。簡單講,web 認證方式實際是客戶端用 http 協議向 ISP 發送用戶名、密碼和 IP 等內容的過程。客戶端讀取認證頁面;將填寫好認證頁面表格發送到 ISP 的認證伺服器。過程就這么簡單。
3。編寫生成這些包的程序;
用任意一個支持 http 協議的語言或工具,編寫向認證伺服器 POST 認證頁面中 form 的程序即可,甚至讀取認證頁面都不需要。我用 curl 和 python 各做了一個。如果你略微了解 http 協議,只要找到認證頁面中向伺服器 POST 用戶名、密碼等數據的 form,然後轉換為你採用語言的語法格式就可以了,根本不需要分析認證頁面中繁雜的 Javascripts。對計時窗發出的 keep-alive 包也採用同樣的方法。
例子:
* 認證頁面中的 form
action="http://xxxxxxx:80/secu/webLogin.jsp">
type="hidden" name="connectname" value="">
name="connecttype" type="hidden">
type="hidden">
value="192.168.000.000" name="localip" type="hidden">
name="IsIndex" type="hidden"> 用戶名: 密 碼:name="password" type="password"> type="submit">
* 用 curl 寫的一個腳本:
#!/bin/bash
/etc/init.d/myiptables start
dhcpcd eth1
MYIP=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:`
echo $MYIP
UN=88888888
SERVER=61.61.61.61
curl --trace trace.txt -A 'Mozilla' -d "username=$UN&password=8888&localip=$MYIP&connectname=&connecttype=-1" http://$SERVER/secu/webLogin.jsp
說明:curl 是一個用 url 語法傳輸文件的命令行程序,支持 http,ftp 等協議,類似 wget。
上例中,curl 的命令行參數 -A 指明客戶端的類型,這是伺服器為了安全,需要指明。Mozilla 或 IE 都可以,我更願意用 Mozilla。 -d 是必需的,表示用 POST 方法。-d 後的內容就是用戶名、密碼 IP 地址等信息,根據你的認證頁面中 form 的 input 項目填寫,內容與其保持一致,參數間用 & 分開。後面是認證頁面的地址。執行這個腳本後,返回 200 OK,表示認證成功,否則,仔細檢查 -d 後的參數是否正常,地址是否正確。
* 用 python 寫的認證程序:
#!/usr/bin/env python
import httplib, urllib
params = urllib.urlencode({'connectname': '',
'connecttype': -1,
'consumeright': 0,
'separatecard': 0,
'localip': '192.168.000.000',
'IsIndex': 0,
'username': 88888888,
'password': 8888})
headers = {'Accept': 'text/html', 'User-Agent': 'Mozilla',
'Content-Type': 'application/x-www-form-urlencoded'}
server = '61.61.61.61'
path = '/secu/webLogin.jsp'
conn = httplib.HTTPConnection(server)
conn.request("POST", path, params, headers)
r1 = conn.getresponse()
print r1.status, r1.reason
data1 = r1.read()
print data1
conn.close()
產生 keep-alive 包的程序
#!/usr/bin/env python
import httplib
def testHttplib(server, path):
req = httplib.HTTP(server)
req.putrequest('GET', path)
req.putheader('Accept', 'text/html')
req.putheader('User-Agent', 'Mozilla')
req.endheaders()
ec, em, h = req.getreply()
fd = req.getfile()
return fd.read(), (ec, em)
myip = '192.168.000.000'
server = '61.61.61.61'
path = '/ClientProcess.jsp?MsgType=1&ISNNO=1001&LocalIP=' + myip
# print 'testing "%s%s"' % (server, path)
dataHttplib, result = testHttplib(server, path)
# print "data length (httplib):", len(dataHttplib), result
# print dataHttplib
說明:
python 是一個功能強大的腳本語言,與 Perl 類似。正如你看到的,它和 curl 完成同樣的工作,但更優雅。這里要注意別漏掉'User-Agent' 和 'Content-Type' 內容,我在這個上面浪費了不少時間。其它與 curl 的說明一樣。
最後,將下面內容加到 crontab 中,保證每 5 分鍾向 ISP 發送一個 keep-alive 包,模擬計時窗功能。
㈧ Linux CentOS 怎麼使用openssl 向windows server CA證書伺服器申請web證書。求詳細過程。
1、.key和.cer可以合並成pfx或p12文件
2、例如
openssl pkcs12 -export -clcerts -in a.cer -inkey a.key -out a.p12
㈨ linux下如何進行web認證上網
參考:
http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=171741
㈩ linux怎樣通過網頁認證,,跪求!!
這個和虛擬機關系不大吧,你在虛擬機裡面看看能不能正常使用,在看是不是虛擬機問題