一個簡單的php線上連接埠掃描器

來源:互聯網
上載者:User
關鍵字 一個簡單的php線上連接埠掃描器

作者:angel

前言

php是一種功能強大的Web開發語言。開發效率高,文法簡單,為動態網站量身定做,加強物件導向(向C++靠攏,與java搭了點邊),可惜單線程(這是至命弱點,據說PHP是用C\C++編寫的。),也能用C、C++、JAVA開發中介層,調用COM,伺服器維護難度小,故障少。

既然是為動態網站量身定做,所以註定不能開發出X-scan這樣的超強掃描器,不過如果要實現一些簡單的功能,還是綽綽有餘的。

連接埠掃描是我們最常用的踩點手段。如果在網吧這種地方,下載一個專門的掃描器又比較麻煩,如果利用現有的Web服務提供的連接埠掃描。那可真的是省了不少事。

下面我們就看看我寫的這個PHP連接埠掃描器的原始碼:


$youip=$HTTP_SERVER_VARS["REMOTE_ADDR"]; // 擷取本機IP地址

$remoteip=$HTTP_POST_VARS['remoteip']; // 擷取表單提交的IP地址

?>

連接埠線上檢測


if (!empty($remoteip)){

// 如果表單不為空白就進入IP地址格式的判斷
function err() {

die("對不起,該IP地址不合法

點擊這裡返回");


}

// 定義提交錯誤IP的提示資訊
$ips=explode(".",$remoteip);

// 用.分割IP地址
if (intval($ips[0])<1 or intval($ips[0])>255 or intval($ips[3])<1
or intval($ips[3]>255)) err();

// 如果第一段和最後一段IP的數字小於1或者大於255,則提示出錯
if (intval($ips[1])<0 or intval($ips[1])>255 or intval($ips[2])<0
or intval($ips[2]>255)) err();

// 如果第二段和第三段IP的數字小於0或者大於255,則提示出錯
$closed='此連接埠目前處於關閉狀態。www.cncms.com';

$opened='此連接埠目前處於開啟狀態!';

$close="關閉";

$open="開啟";

$port=array(21,23,25,79,80,110,135,137,138,139,143,443,445,1433,3306,3389);


$msg=array(

'Ftp',

'Telnet',

'Smtp',

'Finger',

'Http',

'Pop3',

'Location Service',

'Netbios-NS',

'Netbios-DGM',

'Netbios-SSN',

'IMAP',

'Https',

'Microsoft-DS',

'MSSQL',

'MySQL',

'Terminal Services'

);

// 通過IP格式的檢查後用數組定義各連接埠對應的服務名稱及狀態
echo "

echo "

echo "


echo "

echo "

\n"; \n"; \n"; \n";
您掃描的IP:

color=red>".$remoteip."

\n";

echo "


echo "

echo "


echo "


echo "


echo "


echo "

// 輸出顯示的表格
for($i=0;$i

$fp = @fsockopen($remoteip, $port[$i], &$errno, &$errstr, 1);

if (!$fp) {

echo "


} else {

echo "


}

}

// 用for語句,分別用fsockopen函數串連遠程主機的相關連接埠,並輸出結果
echo "


echo "

\n"; \n"; \n"; \n"; \n"; \n"; \n";

{

\n"; "; \n";

echo "

連接埠服務檢測結果描述
".$port[$i]." ".$msg[$i]."


align=center>".$close."

".$closed."
".$port[$i]." ".$msg[$i]."


align=center>".$open."

".$opened."
\n";

echo "繼續掃描>>>

\n";

echo "


echo "

echo "

echo "

echo "

\n"; \n"; \n"; \n";
Copyright © 2004 Security
Angel Team[S4T] All Rights Reserved.
\n";

echo "

\n";

echo "\n";

echo "\n";

exit;

}

// 探測結束
echo "

echo "

echo "


echo "

echo "";

echo "

\n"; \n"; \n"; \n";
您的IP:".$youip."
\n";

// 如果表單為空白則顯示提交IP地址的表單
?>


Copyright © 2004 Security Angel Team[S4T]
All Rights Reserved.

後記

這個掃描器很簡單。就是用了一個數組來定義連接埠的相關資訊,原理就是用fsockopen函數串連,如果可以串連,就表示連接埠開啟,否則就是關閉。

最大的缺點就是PHP是單線程的,所以速度會很慢,這個是用方便、簡單作為代價的,其實寫這個代碼的就是想告訴大家,PHP並不僅僅用於動態網站的開發,也可以用於網路安全領域,往往太注意事物的本職工作,就會忽略其他方面的特點。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.