主頁 >  其他 > 計算機網路應用層:DNS、P2P和Socket編程

計算機網路應用層:DNS、P2P和Socket編程

2022-11-10 07:31:29 其他

DNS

域名系統Domain Name System,DNS)的主要任務是主機名到IP地址的轉換的目錄服務,DNS是:

  • 一個由分層DNS服務器實作的分布式資料庫;
  • 一個使得主機能夠查詢分布式資料庫的應用層協議;

DNS服務器是運行BINDBerkeley Internet Name Domain)軟體的UNIX機器,運行在UDP之上,使用53號埠,

DNS被其他應用層協議所使用,舉例某用戶主機請求某URL:

  1. 該主機上運行著DNS應用的客戶端;
  2. 瀏覽器從URL中抽取主機名,并將主機名傳給DNS客戶端;
  3. DNS客戶端向DNS服務器發送包含主機名的請求;
  4. DNS服務器回傳主機名對應的IP,主機瀏覽器得到IP后,向其80埠的HTTP服務器行程發起TCP連接;

除提供IP轉換以外,DNS還具有以下服務

  • 主機別名host aliasing):有著復雜主機名的主機能擁有一個或多個別名,舉例:relay1.west-coast.enterprise.com主機的別名可能是enterprise.comwww.enterprise.com,此時,relay1.west-coast.enterprise.com稱為規范主機名canonical hostname),主機別名更加容易記憶,
  • 郵件服務器別名mail server aliasing):類似主機別名,一般規范主機名比較復雜,別名容易記憶,呼叫DNS可以得到主機名的規范主機名和IP地址;
  • 負載分配load distribution):繁忙的站點被冗余分布在多臺服務器上,每臺有不同的IP,所以一個IP地址集合與同一個規范主機名對應,用戶請求時,DNS用整個IP地址集合回應,但每個回答中回圈使用這些IP地址,在服務器間回圈分配了負載;

DNS作業機理綜述:

分布式、層次資料庫

DNS使用了大量的DNS服務器,以層次方式組織,大致說來有3類DNS服務器:根DNS服務器頂級域Top-Level DomainDNS服務器權威DNS服務器,假設一個DNS客戶要決定www.amazon.com的IP地址,首先與根服務器之一聯系,得到頂級域名com的TLD服務器IP,再與這些TLD服務器之一聯系,將為amazon.com回傳權威DNS服務器IP,最后,客戶與amazon.com權威服務器之一聯系,回傳www.amazon.com的IP地址,

  • 根DNS服務器:有400多個根DNS服務器遍布,由13個不同的組織管理,根DNS服務器提供TLD服務器的IP地址;
  • 頂級域(TLD)DNS服務器:每個頂級域(com、org、net、edu和gov)以及國家的頂級域(uk、fr、ca和jp),都有TLD服務器,TLD服務器提供權威DNS服務器的IP地址;
  • 權威DNS服務器:每個在 Internet 上擁有可公開訪問的主機(例如 Web 服務器和郵件服務器)的組織都必須提供可公開訪問的 DNS 記錄,將這些主機的名稱映射到 IP 地址, 組織的權威 DNS 服務器包含這些 DNS 記錄, 組織可以選擇實施自己的權威 DNS 服務器來保存這些記錄;或者,組織可以付費將這些記錄存盤在某些服務提供商的權威 DNS 服務器中, 大多數大學和大公司都實施和維護自己的一級和二級(備份)權威 DNS 服務器,

根、TLD和權威DNS服務器都處在該DNS服務器的層次結構中,

還有另一類重要的DNS服務器,稱為本地DNS服務器local DNS server),嚴格說來,一個本地DNS服務器并不屬于該服務器的層次結構,但它對DNS層次結構是至關重要的,

每個ISP(如一個居民區的1SP或一個機構的ISP)都有一臺本地DNS服務器(也叫默認名字服務器),當主機與某個ISP連接時,該ISP提供一臺主機的IP地址,該主機具有一臺或多臺其本地DNS服務器的IP地址(通常通過DHCP),通過訪問Windows或UNIX的網路狀態視窗,用戶能夠容易地確定他的本地DNS服務器的IP地址, 主機的本地DNS服務器通常“鄰近”本主機,對某機構ISP而言,本地DNS服務器可能就與主機在同一個局域網中;對于某居民區ISP來說,本地DNS服務器通常與主機相隔不超過幾臺路由器,當主機發岀DNS請求時,該請求被發往本地DNS服務器,它起著代理的作用,并將該請求轉發到DNS服務器層次結構中,

舉例:

假設主機cse.nyu.edu想知道主機gaia.cs.umass.edu的IP地址,同時假設(NYU)的cse.nyu.edu主機的本地DNS服務器為dns.nyu.edu,并且gaia.cs.umass.edu的權威DNS服務器為dns.umass.edu
如圖所示:

  1. 主機cse.nyu.edu首先向它的本地DNS服務器dns.nyu.edu發送一個DNS查詢報文,該查詢報文含有被轉換的主機名gaia.cs.umass.edu;
  2. 本地DNS服務器將該報文轉發到根DNS服務器;
  3. 該根DNS服務器注意到其edu前綴并向本地DNS服務器回傳負責edu的TLD服務器的IP地址串列;
  4. 該本地DNS服務器則再次向這些TLD服務器之一發送查詢報文;
  5. 該TLD服務器注意到umass.edu前綴,并用權威DNS服務器的IP地址進行回應,該權威DNS服務器是負責umass的dns.umass.edu;
  6. 最后,本地DNS服務器直接向dns.umass.edu重發查詢報文;
  7. dns.umass.edu用gaia.cs.umass.edu的IP地址進行回應;

注意到在本例中,為了獲得一臺主機名的映射,共發送了8份DNS報文:4份查詢報文和4份回答報文!利用DNS快取能減少這種査詢流量

圖中所示的例子利用了遞回查詢(recursive query)和迭代查詢(iterative query),

  • 從cse.nyu.edu到dns.nyu.edu發出的查詢是遞回查詢,因為該查詢以自己的名義請求dns.nyu.edu來獲得該映射,
  • 而后繼的3個查詢是迭代查詢,因為所有的回答都是直接回傳給dns.nyu.edu,

從理論上講,任何DNS查詢既可以是迭代的也能是遞回的,


 

DNS快取:

DNS快取DNS caching),實際上,為了改善時延性能并減少在因特網上到處傳輸的DNS報文數量,DNS廣泛使用了快取技術,
DNS快取的原理非常簡單,在一個請求鏈中,當某DNS服務器接收一個DNS回答(例如,包含某主機名到IP地址的映射)時,它能將映射快取在本地存盤器中,
例如,在上圖中,每當本地DNS服務器dns.nyu.edu從某個DNS服務器接收到一個回答,它能夠快取包含在該回答中的任何資訊,如果在DNS服務器中快取了一臺主機名/IP地址對,另一個對相同主機名的查詢到達該DNS服務器時,該DNS服務器就能夠提供所要求的IP地址,即使它不是該主機名的權威服務器,DNS服務器在一段時間后(通常設定為兩天)將丟棄快取的資訊,

DNS記錄和報文:
共同實作DNS分布式資料庫的所有DNS服務器存盤了資源記錄(Resource Record, RR), RR提供了主機名到IP地址的映射,每個DNS回答報文包含了一潭訓多條資源記錄,
資源記錄是一個包含了下列欄位的4元組:

(Name, Valuer,Type, TTL)

TTL是該記錄的生存時間,它決定了資源記錄應當從快取中洗掉的時間,在下面給岀的記錄例子中,我們忽略掉TTL欄位,Name和Value的值取決于Type:

  • 如果Type = A,則Name是主機名,Value是該主機名對應的IP地址,因此,一條型別為A的資源記錄提供了標準的主機名到IP地址的映射,例如(relay1.bar.foo.com, 145.37.93.126, A)就是一條型別A記錄,
  • 如果Type = NS,則Name是個域(如foo.com),而Value是個知道如何獲得該域中主機IP地址的權威DNS服務器的主機名,這個記錄用于沿著查詢鏈來路由DNS查詢,例如(foo.com, dns.foo.com, NS)就是一條型別為NS的記錄,
  • 如果Type = CNAME,則Value是別名為Name的主機對應的規范主機名,該記錄能夠向査詢的主機提供一個主機名對應的規范主機名,例如(foo.com, relay1.bar.foo.com, CNAME)就是一條CNAME型別的記錄,
  • 如果Type = MX,則Value是個別名為Name的郵件服務器的規范主機名,舉例來說,(foo.com, mail.bar.foo.com, MX)就是一條MX記錄,MX記錄允許郵件服務器主機名具有簡單的別名,值得注意的是,通過使用MX記錄,一個公司的郵件服務器和其他服務器(如它的Web服務器)可以使用相同的別名,為了獲得郵件服務器的規范主機名,DNS客戶應當請求一條MX記錄;而為了獲得其他服務器的規范主機名,DNS客戶應當請求CNAME記錄,

DNS報文:

DNS只有查詢和回答報文,且有著相同的格式:

  • 前12個位元組是首部區域,其中有幾個欄位,第一個欄位(識別符號)是一個16位元的數,用于標識該查詢,這個識別符號會被復制到對查詢的回答報文中,以便讓客戶用它來匹配發送的請求和接收到的回答, 標志欄位中含有若干標志,1位元的“查詢/回答”標志位指出報文是查詢報文(0)還是回答報文(1),當某DNS服務器是所請求名字的權威DNS服務器時,1位元的“權威的”標志位被置在回答報文中,如果客戶(主機或者DNS服務器)在該DNS服務器沒有某記錄時希望它執行遞回查詢,將設定1位元的“希望遞回”標志位,如果該DNS服務器支持遞回查詢,在它的回答報文中會對1位元的“遞回可用”標志位置位,在該首部中,還有4個有關數量的欄位,這些欄位指出了在首部后的4類資料區域出現的數量,
  • 問題區域包含著正在進行的查詢資訊,該區域包括:①名字欄位,包含正在被查詢的主機名字;②型別欄位,指出有關該名字的正被詢問的問題型別,例如主機地址是與一個名字相關聯(型別A)還是與某個名字的郵件服務器相關聯(型別MX),
  • 在來自DNS服務器的回答中,回答區域包含了對最初請求的名字的資源記錄,前面講過每個資源記錄中有Type(如A、NS、CNAME和MX)欄位、Value欄位和TTL欄位,在回答報文的回答區域中可以包含多條RR,因此一個主機名能夠有多個IP地址(例如,就像本節前面討論的冗余Web服務器),
  • 權威區域包含了其他權威服務器的記錄,
  • 附加區域包含了其他有幫助的記錄,例如,對于一個MX請求的回答報文的回答區域包含了一條資源記錄,該記錄提供了郵件服務器的規范主機名,該附加區域包含一個型別A記錄,該記錄提供了用于該郵件服務器的規范主機名的IP地址,

DNS資料庫中插入記錄:

假定你剛剛創建一個稱為網路烏托邦(Network Utopia)的新創業公司,你必定要做的第一件事是在注冊登記機構注冊域名networkutopia.com注冊登記機構registrar)是一個商業物體,它驗證該域名的唯一性,將該域名輸入DNS資料庫,
當你向某些注冊登記機構注冊域名networkutopia.com時,需要向該機構提供你的基本和輔助權威DNS服務器的名字和IP地址,假定該名字和IP地址是dnsl.networkutopia.comdns2.networkutopia.com212.212.212.1212.212.212.2
對這兩個權威DNS服務器的每一個,該注冊登記機構確保將一個型別NS和一個型別A的記錄輸入TLD com服務器,特別是對于用于networkutopia.com的基本權威服務器,該注冊登記機構將下列兩條資源記錄插入該DNS系統中:

(networkutopia.com, dns1.networkutopia.com, NS)
(dns1.networkutopia.com, 212.212.212.1, A)

你還必須確保用于Web服務器www.networkutopia.com的型別A資源記錄和用于郵件服務器的mail.networkutopia.com的型別MX資源記錄被輸入你的權威DNS服務器中,


 

P2P檔案分發

P2P檔案分發中,每個對等方能夠向任何其他對等方重新分發它已經收到的該檔案的任何部分,從而在分發程序中協助該服務器,到2016年止,最為流行的P2P檔案分發協議是BitTorrent
P2P體系結構到的擴展性:

 

 

 

 

 

BitTorrent:

BitTorrent是一種用于檔案分發的流行P2P協議,參與一個特定檔案分發的所有對等方的集合被稱為一個洪流torrent),在一個洪流中的對等方彼此下載等長度的檔案塊chunk),典型的塊長度為256KB,當一個對等方首次加入一個洪流時,它沒有塊,隨著時間的流逝,它累積了越來越多的塊,當它下載塊時,也為其他對等方上載了多個塊,一旦某對等方獲得了整個檔案,它也許(自私地)離開洪流,或(大公無私地)留在該洪流中并繼續向其他對等方上載塊,同時,任何對等方可能在任何時候僅具有塊的子集就離開該洪流,并在以后重新加入該洪流中,
每個洪流具有一個基礎設施節點,稱為追蹤器tracker),當一個對等方加入某洪流時,它向追蹤器注冊自己,并周期性地通知追蹤器它仍在該洪流中,以這種方式,追蹤器跟蹤參與在洪流中的對等方,一個給定的洪流可能在任何時刻具有數以百計或數以千計的對等方,

  • 如何決定請求哪個塊?最稀缺優先rarest first)的技術,這種技術的思路是,針對一個客戶沒有的塊在她的鄰居中決定最稀缺的塊(最稀缺的塊就是那些在她的鄰居中副本數量最少的塊),并首先請求那些最稀缺的塊,這樣,最稀缺塊得到更為迅速的重新分發,其目標是(大致地)均衡每個塊在洪流中的副本數量,
  • 為了決定回應哪個請求,BitTorrent使用了一種機靈的對換演算法,其基本想法是:
  1. 用戶A根據當前能夠以最高速率向她提供資料的鄰居,給出其優先權,
  2. 特別是,A對于她的每個鄰居都持續地測量接收到位元的速率,并確定以最高速率流入的4個鄰居,
  3. 每過10秒,她重新計算該速率并可能修改這4個對等方的集合,
  4. 用BitTorrent術語來說,這4個對等方被稱為疏通(unchoked),
  5. 重要的是,每過30秒,她也要隨機地選擇另外一個鄰居并向其發送塊,我們將這個被隨機選擇的對等方稱為B,
  6. 因為A正在向B發送資料,她可能成為B前4位上載者之一,這樣的話B將開始向A發送資料,
  7. 如果B向A發送資料的速率足夠高,B接下來也能成為A的前4位上載者,
  8. 換言之,每過30秒A將隨機地選擇一名新的對換伴侶并開始與那位伴侶進行對換,如果這兩名對等方都滿足此對換,它們將對方放入其前4位串列中并繼續與對方進行對換,直到該對等方之一發現了一個更好的伴侶為止,這種效果是對等方能夠以趨向于找到彼此的協調的速率上載,隨機選擇鄰居也允許新的對等方得到塊,因此它們能夠具有對換的東西,除了這5個對等方(“前”4個對等方和一個試探的對等方)的所有其他相鄰對等方均被“阻塞”,即它們不能從A接收到任何塊,BitTorrent有一些有趣的機制沒有在這里討論,包括片(小塊)、流水線、隨機優先選擇、殘局模型和反怠慢,

 

套接字編程:

  • 客戶從其鍵盤讀取一行字符(資料)并將該資料向服務器發送;
  • 服務器接收該資料并將這些字符轉換為大寫;
  • 服務器將修改的資料發送給客戶;
  • 客戶接收修改的資料并在其監視器上將該行顯示出來;

簡單的UDP套接字編程


UDPClient.py

from socket import *
server_name = "localhost"
server_port = 12000

client_socket = socket(AF_INET, SOCK_DGRAM)
while True:
    message = input("input lowercase: ")
    if message == "quit":
        break
    client_socket.sendto(message.encode(), (server_name, server_port))

    modified_message, server_address = client_socket.recvfrom(2048)
    print(modified_message.decode())
client_socket.close()

UDPServer.py

from socket import *

server_port = 12000

server_socket = socket(AF_INET, SOCK_DGRAM)
server_socket.bind(("", server_port))
print("server is ready to receive")
while True:
    message, client_address = server_socket.recvfrom(2048)
    print(f"receive {message}")
    modified_message = message.decode().upper()
    server_socket.sendto(modified_message.encode(), client_address)


簡單的TCP套接字編程
與UDP不同,TCP是一個面向連接的協議,這意味著在客戶和服務器能夠開始互相發送資料之前,它們先要握手和創建一個TCP連接,TCP連接的一端與客戶套接字相聯系,另一端與服務器套接字相聯系,當創建該TCP連接時,我們將其與客戶套接字地址(IP地址和埠號)和服務器套接字地址(IP地址和埠號)關聯起來,使用創建的TCP連接,當一側要向另一側發送資料時,它只需經過其套接字將資料丟進TCP連接,這與UDP不同,UDP服務器在將分組丟進套接字之前必須為其附上一個目的地地址,

服務器程式必須具有一扇特殊的門,更精確地說是一個特殊的套接字,該門歡迎來自運行在任意主機上的客戶行程的某種初始接觸,使用房子與門來比喻行程與套接字,有時我們將客戶的初始接觸稱為“敲歡迎之門” ,

隨著服務器行程的運行,客戶行程能夠向服務器發起一個TCP連接,這是由客戶程式通過創建一個TCP套接字完成的,當該客戶生成其TCP套接字時,它指定了服務器中的歡迎套接字的地址,即服務器主機的IP地址及其套接字的埠號,生成其套接字后,該客

戶發起了一個三次握手并創建與服務器的一個TCP連接,發生在運輸層的三次握手,對于客戶和服務器程式是完全透明的,
在三次握手期間,客戶行程敲服務器行程的歡迎之門,當該服務器“聽”到敲門聲時,它將生成一扇新門(更精確地講是一個新套接字),它專門用于特定的客戶,

 

TCPClient.py

from socket import *

server_name = "localhost"
server_port = 12000

client_socket = socket(AF_INET, SOCK_STREAM)
client_socket.connect((server_name, server_port))
while True:
    message = input("input lowercase: ")
    if message == "quit":
        break
    client_socket.send(message.encode())
    modified_message = client_socket.recv(1024)
    print(f"modified: {modified_message.decode()}")

client_socket.close()


TCPServer.py

from socket import *

server_port = 12000

server_socket = socket(AF_INET, SOCK_STREAM)
server_socket.bind(("", server_port))
server_socket.listen(2)
print("server is ready receive")
while True:
    connect_socket, client_address = server_socket.accept()
    message = connect_socket.recv(1024).decode()
    print(f"receive {message}")
    modified_message = message.upper()
    connect_socket.send(modified_message.encode())
    connect_socket.close()

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/530550.html

標籤:其他

上一篇:域前置技術和C2隱藏

下一篇:DHCP 的相關概念

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more