當前位置:首頁 » 編程軟體 » web認證腳本

web認證腳本

發布時間: 2023-05-17 17:05:53

❶ 如何在 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 包,模擬計時窗功能。

❷ web上網認證怎麼設置

web上網認證的設置步驟如下:

1、web上網即每次上悔或網時,打開瀏覽器後頁面會自動跳轉到服務商的門戶網站,輸入用戶名和密碼即可上網,首先按圖示連接路由器和電腦。

❸ web中的「腳本」是何意「腳本優化」又是何意

想了解腳本的含義還得要從如何理解程序開始.

1.可執行程序,無論是在windows中還是lunux或是unix系統中,都存在可執行程序.比如在windows中可執行程序都是以.exe結尾的程序.它的本質是利用vc或vb或其他你熟悉或不熟悉的編程軟體編譯源代碼後生成的一種2進制數據.注意這里把它叫做數據.它的執行過程(比如你雙擊qq.exe軟體會打開qq登陸窗口)就是系統把這2進制數據裝入內存,然後把cpu的執行位置指向裝入這代碼的開始處,然後開始執行.你會得到響應的結果.比如得到qq的登陸窗口.

2.腳本程序(或就叫腳本或腳本語言):定義為按照某種已安排好的格式由操作系統中的腳本解釋器逐句執行的文本.注意這里說它是文本而非2進制數據.其實兩中說法在本質上都沒什麼區別,因為所有的東西在計算機中存儲都是2進制的,只不過文本能夠被文本解釋器解釋成我們熟悉的諸如abc123*&)等等的符號,而2進制數據則沒什麼規律,它只是數據.你可以用記事本打開一個.exe程序既一個2進制數據,會得到一堆亂碼.腳本解釋器會按照腳本程序的規定去執行已編譯好了的程序,而我們直接執行的.exe程序則不需要腳本解釋器去執行.

3.腳本分為很多種,比如web腳本,注冊表腳本,還有dos中的以.bat結尾的批處理文件腳本等等.平時我們所說的vb腳本,java腳本,還有lunux中的shell腳本,都是基於腳本解釋器去執行的.

至於web的什麼腳本優化么,可能是web語言里的一種高效率的編寫腳本的方法.要知道腳本的執行是靠腳本解釋器按照腳本代碼逐句執行那些已編譯好了的程序.

我只能幫你這些了.

❹ 如何寫一個web腳本,讓web自動執行一些操作

如果你是為了遠程操作的話,不要用web界面,用secure shell。如果你是為了寫這個python程序,那你需要標准庫里的subprocess和cgi。

❺ 什麼是web腳本請簡單說哈

javascript就是腳本語言

❻ 如何自動進行ROS Mikrotik HotSpot熱點web認證

設想:使用ROS路由器,使用腳本實現 腳本檢查hotspot認證頁面,有hotspot認證時,則自動輸入用者隱戶名及密碼,獲取有效IP,寫入WAN口首州廳跡沒靜態IP。 沒做過,假設!

❼ 製作網頁中出現的web和"腳本"是什麼意思

web是指你製作好了的頁面文件
腳本是指在超文本鏈接語言(就是HTML語言)裡面加入的其他能過執行的語言比如Java語言等

❽ 我這里有一個web登錄的腳本,有誰能想到暴力破解的辦法

2010年8月26日 ... 驗證碼的作用:有效防止這種問題對某一個特定注冊用戶用特定程序暴力破解 ... 二像網路貼吧未登錄發貼要輸入驗證碼大概是防止大規模匿名回帖的發生 ... 在客戶端腳本寫入一些代碼,然後利用其,客戶機在網站,論壇反復登陸, ... WEB網站像現在的動網論壇,他採用達到方法是為客戶提供一個包含隨即字元串的圖片,用戶必須讀取 .

❾ 大家幫忙看看,這個web腳本有什麼問題么

方法不能這樣放在方法內部局廳。 改老帆為如下
function init(){
document.reg_form.b.focus();
v();
}

function v()
{if(vb()==false)return false;
if (vx()==false)return false;
if(vs()==false)return false;
if(z()==false)return false;
return true;}
function vb()
{if(document.reg_form.b.value.length==0)
{alert("姓名不能為空");
return false;}
return ture;
}
function vs()
{if(document.reg_form.s.value.length==18)
{alert("身份證要為18位");
return false;}
return ture;
}
function z()
{if(document.reg_form.z.value.length>=20)
{alert("輸入必要侍臘雹大於20個字");
return false;}
return ture;
}

</script>

</head>

❿ 如何在網頁上創建Web腳本

下面是具體操作方法: (1)在「工具」菜單上單擊「自定義」命令,再單擊「命令」選項卡。 (2)在「類別」框中單擊「工具」。 (3)將「插入腳本」從「命令」框拖動到「工具」菜單上。 (4)當「工具」菜單顯示菜單命令指仿時,指向「宏」子菜單。 (5)當「宏」子菜單顯示菜單命令時,指向希望「插入腳本」在菜單上顯示的位置,再放開滑鼠鍵。 (6)在「自定義」對話框中,單擊「關閉戚凱」按鈕。 (7)然後在要添加腳本的網頁中單擊。執行「工具」→「宏」→「插入腳本」命令。使用「Microsoft腳本編輯器」(Microsoft腳本編輯器:用於在數據訪問頁中添加文本、編輯HTML標記以及編輯任何Microsoft Visual Basic Scripting Edition(VBScript)代碼。也可像在Web瀏覽器中一樣,在腳本編輯器中查看頁)編寫腳本。 (8)現在返回到Office程序。若要將更改更新到網頁中唯仔纖,請單擊「刷新」工具欄上的「刷新」按鈕。

熱點內容
醫院葯房要什麼配置 發布:2025-07-15 08:29:55 瀏覽:663
編程說明書 發布:2025-07-15 08:16:39 瀏覽:759
android請求超時 發布:2025-07-15 07:56:57 瀏覽:528
修改linux的主機名 發布:2025-07-15 07:52:46 瀏覽:905
天龍八部自動挖礦腳本怎麼寫 發布:2025-07-15 07:42:01 瀏覽:648
本地編譯器怎麼運行 發布:2025-07-15 07:42:00 瀏覽:995
加密狗會壞嗎 發布:2025-07-15 07:38:32 瀏覽:563
jdbc讀取資料庫 發布:2025-07-15 07:38:23 瀏覽:322
華為手機如何設置隱私密碼鎖 發布:2025-07-15 07:36:09 瀏覽:980
java怎麼導入jar 發布:2025-07-15 07:22:02 瀏覽:397