不需要。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了孝南免費(fèi)建站歡迎大家使用!
FTP協(xié)議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。
當(dāng)需要傳送數(shù)據(jù)時,客戶端在命令鏈路上用 PORT命令告訴服務(wù)器:“我打開了****端口,你過來連接我”。于是服務(wù)器從20端口向客戶端的****端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
也就是說,默認(rèn)被動的端口是21
可以將ip port也作為數(shù)據(jù)報(bào)頭來發(fā)送
例如 數(shù)據(jù)結(jié)構(gòu)可以如下
報(bào)頭 IP Port FileSize CurtBlock ……//FileSize標(biāo)示共有多少個包 CurtBlock標(biāo)示當(dāng)前包號
報(bào)文 data
當(dāng)然具體的數(shù)據(jù)結(jié)構(gòu) 可根據(jù)自己的實(shí)際情況不同而不同
$_SERVER['REMOTE_PORT'];//端口號
$_SERVER['SERVER_ADDR'];//ip
//補(bǔ)充
$_SERVER['HTTP_CLIENT_IP'];?//代理端的(有可能存在,可偽造)
$_SERVER['HTTP_X_FORWARDED_FOR'];?//用戶是在哪個IP使用的代理(有可能存在,也可以偽造)
?php
$conn=mysql_connect("localhost","root","密碼");
mysql_select_db("數(shù)據(jù)庫名",$conn);
$query="INSERT?INTO?表名(`id`,`userid`,`userport`)VALUES(null,123,".
$_SERVER['REMOTE_PORT'].");";
$result=mysql_query($query);
?
參考思路如下:
1、在監(jiān)聽的時候把監(jiān)聽到的內(nèi)容存儲起來,數(shù)據(jù)庫/文件/緩存都行。
2、在瀏覽器能訪問的腳本中把內(nèi)容顯示出來就行了;
3、或者直接用websocket來監(jiān)聽,接受到數(shù)據(jù)直接寫在頁面上。
你可以試一下這個,比如你要想知道wqzbxh.top這個域名對應(yīng)的IP 可以使用以下函數(shù):
$hosts=gethostbynamel('wqzbxh.top'); ? ? ? //獲取ip地址列表
print_r($hosts);
返回結(jié)是數(shù)組形式的返回結(jié)果:
分享標(biāo)題:php讀取端口數(shù)據(jù),php 端口
新聞來源:http://jinyejixie.com/article34/dssdppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、建站公司、響應(yīng)式網(wǎng)站、虛擬主機(jī)、營銷型網(wǎng)站建設(shè)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)