獲取建立https連線的裝置 使用者數與IP

2021-10-06 13:18:02 字數 2905 閱讀 1048

①先使用netstat 命令加上引數:

-a(all)顯示所有選項,預設不顯示listen相關

-n拒絕顯示別名,能顯示數字的全部轉化成數字

-p顯示建立相關鏈結的程式名(用於區分)

這樣↓ 可以顯示所有我們需要進行操作的鏈結資料

netstat -anp
②從中我們取已經建立連線的,加上管道符|

這樣↓

netstat -anp |grep established
netstat -anp |grep established |grep nginx
-v標識,表示not,反向,排除的意思

這樣↓

netstat -anp |grep established |grep nginx |grep -v 127.0.0.1
⑤剩下的就都是通向外部的鏈結了,這裡根據你的需要來過濾埠,我需要443,就直接用grep獲取443的資料,如果你需要獲取全部tcp鏈結的或者80的,那就把443換成tcp或者80。然後開始擷取列資料,使用awk

awk ''就是擷取第五列,這裡依舊可以根據你的需要,擷取對應列

netstat -anp |grep established |grep nginx |grep -v 127.0.0.1 |grep 443 | awk ''
⑥這樣我們就獲取到了外部的ip:埠號了,接下來進行切割,使用awk加上引數:

-f ':'以冒號為分隔符切割成ip和埠號前後兩部分,然後取前面的部分也就是ip部分,加上:''

這樣↓

netstat -anp |grep established |grep nginx |grep -v 127.0.0.1 |grep 443 | awk ''

| awk -f ':'

''

-u(uniq)獨一無二

這樣↓

netstat -anp |grep established |grep nginx |grep -v 127.0.0.1 |grep 443 | awk ''

| awk -f ':'''|

sort

-u

⑧獲取到了ip,自然就可以得到數目了。不過以防萬一,再過濾一下,讓我們獲取到的必須是ip值,使用grep,加上引數:

-o表示「only-matching」,即「僅匹配」之意

-e使用擴充套件正規表示式

([0-9][.])[0-9]就是ipv4的正規表示式

netstat -anp |grep established |grep 443 |grep nginx |grep -v 127.0.0.1 |awk ''

|awk -f ':'''|

sort

-u |grep -e -o '([0-9][\.])[0-9]'

⑨加下來直接獲取數目,這裡可以直接通過行數來計算數目了,所以使用wc,加上引數:

-l(line) 只顯示行數

這樣↓

netstat -anp |grep established |grep 443 |grep nginx |grep -v 127.0.0.1 |awk ''

|awk -f ':'''|

sort

-u |grep -e -o '([0-9][\.])[0-9]'

|wc -l

⑩獲取有人需要得到一行ip,這裡用python來簡單演示一下。

使用os模組,記得先import os

def

get_ipres()

: result = os.popen(

"netstat -anp |grep established |grep 443 |grep nginx |grep -v 127.0.0.1 |awk '' |awk -f ':' '' |sort -u |grep -e -o '([0-9][\.])[0-9]'"

).read(

) ipres=result.replace(

"\n"

,"|")[

:-1]

return ipres

我這裡用管道符分割ip,你可以用逗號或者其他方式來替換換行符,進行分割ip顯示,[:-1]是去掉最後乙個分隔符

還可以將得到的資料裝到陣列轉成json傳送。

使用socket,json ,記得import

server =

"x.x.x.x"

port = ***x

s = socket.socket(socket.af_inet, socket.sock_stream)

s.connect(

(server, port)

)array =

array[

'ips'

]= get_ipres(

)s.send(json.dumps(array)

)

記得異常s.close()

https建立連線

客戶端的瀏覽器向伺服器傳送客戶端 ssl 協議的版本號,加密演算法的種類,產生的隨機數,以及其他伺服器和客戶端之間通訊所需要的各種資訊。圖中1 伺服器向客戶端傳送 ssl 協議的版本號,加密演算法的種類,隨機數以及其他相關資訊,同時伺服器還將向客戶端傳送自己的證書。圖中2,3 客戶利用伺服器傳過來的...

https建立連線過程

既然要公升級為https協議,那就很有必要知道https的原理是什麼,https是怎麼保證資訊只有通訊雙方能解析而不被第三方截獲導致資訊被竊取 篡改。2.1 原理圖 下面是一張https建立連線的原理圖,下面會對每一步進行說明。https建立連線 2.2 https建立連線過程 2.2.1 客戶端訪...

https建立連線原理筆記

tcp協議 通訊雙方通過三次握手建立tcp連線 tls transport layer security 協議 通訊雙方通過四次握手建立tls連線 http協議 client向server發起request,server發揮response ps 以下筆記只針對tls1.2 tcp三次握手建立連線 ...