JP6778862B1 - Linux仮想マシンのSocketリスニングの検出方法及びそのシステム - Google Patents

Linux仮想マシンのSocketリスニングの検出方法及びそのシステム Download PDF

Info

Publication number
JP6778862B1
JP6778862B1 JP2020065634A JP2020065634A JP6778862B1 JP 6778862 B1 JP6778862 B1 JP 6778862B1 JP 2020065634 A JP2020065634 A JP 2020065634A JP 2020065634 A JP2020065634 A JP 2020065634A JP 6778862 B1 JP6778862 B1 JP 6778862B1
Authority
JP
Japan
Prior art keywords
socket
listening
virtual machine
tcp
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2020065634A
Other languages
English (en)
Other versions
JP2021108090A (ja
Inventor
学華 ▲ドン▼
学華 ▲ドン▼
偉 史
偉 史
宇 閔
宇 閔
Original Assignee
広東睿江云計算股▲ふん▼有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 広東睿江云計算股▲ふん▼有限公司 filed Critical 広東睿江云計算股▲ふん▼有限公司
Application granted granted Critical
Publication of JP6778862B1 publication Critical patent/JP6778862B1/ja
Publication of JP2021108090A publication Critical patent/JP2021108090A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】Linux仮想マシンのSocketリスニングの検出方法及びそのシステムを提供する。【解決手段】方法において、仮想マシンのリスニングアドレスipの検出が必要である場合、クラウドプラットフォームは、TCP Socket常駐プログラムを直接呼び出してキーワードを検索し、それによって、sockeがリスニング中であるか否かを検出する。仮想マシンのファイル経路がpathであるunix socketリスニングの検出が必要である場合、クラウドプラットフォームは、TCP Socket常駐プログラムを直接呼び出してキーワードpathを検索し、それによって、socketがリスニング中であるか否かを検出する。【選択図】図1

Description

本発明は、クラウドプラットフォームにおけるLinux仮想マシンの技術分野に関し、特にLinux仮想マシンのSocketリスニングの検出方法及びそのシステムに関する。
KVM(Kernel−based Virtual Machineの略語)は、仮想化拡張機能(Intel VT又はAMD−V)に基づくX86ハードウェアのオープンソースLinuxネイティブ完全仮想化ソリューションである。
「ソケット」とも呼ばれるSocketは、1組のプログラミングインターフェース(API)である。トランスポート層とアプリケーション層の間にあり、アプリケーション層へ統一したプログラミングインターフェースを提供する。アプリケーション層は、TCP/IPプロトコルの詳細を知る必要はなく、Socketインターフェース機能を呼び出すことによりIPネットワークでのデータ伝送を直接完了する。Socketは、作成するときにアドレスドメインとタイプを指定する必要があり、2つのプロセスのアドレスとタイプが同じ場合にのみ通信できる。2つの一般的なアドレスドメインは、UnixドメインとInternetドメインであり、Unixドメインは、Socketをファイルシステムの下のファイルとして扱い、Internetドメインは、異なるホストにおけるプロセス間の通信に適しており、Internetドメインでは、Socketはアドレスとポート番号を指定する必要がある。
qgaと略されるQemuGuestAgentは、仮想マシンの内部で実行される一般的なアプリケーション(実行可能ファイル名は、デフォルトでqemu−gaであり、サービス名は、デフォルトでqemu−guest−agentである)であり、その目的は、ホストと仮想マシンのインタラクション方式を実現することであり、この方式はネットワークに依存するのではなく、virtio−serial(デフォルトの推奨される方式)又はisa−serialに依存し、QEMUは、シリアルデバイスのシミュレーションとデータ交換のためのチャネルを提供し、最終的には、シリアルデバイス(仮想マシンの内部)及びunixsocketファイル(ホストの上)として表される。qgaは、シリアルデバイスとホストにおけるsocketチャネルの読み書きによりインタラクションを行い、ホストは、通常のUnixsocketの読み書き方式を使用してソケットファイルの読み書きを行い、最終的にqgaとのインタラクションを実現できる。
現在、クラウドプラットフォームで提供されるほとんどのミラーリングには、socketベースのアプリケーションが含まれており、これらのアプリケーションサービスは、仮想マシンが顧客に提供されるときに開始される。仮想マシンでのソケットリスニングの検出方法には、現在、以下の2つの一般的な方法がある。1、外部socketクライアントを介して仮想マシンのsocketサーバーに接続することで検出する。2、仮想マシンのオペレーティングシステムにログインして確認する。
上記の方法には次の欠点がある。1、外部接続の場合は、ネットワーク環境や顧客の仮想マシンのファイアウォールをオンにすることによる影響を除外できない。2、仮想マシンのオペレーティングシステムにログインするには、顧客自身による検査が必要である。
中国特許出願公開第108763052号明細書
本発明は、仮想現実ソフトウェアのメモリ再生メカニズムの性能検出方法及びシステムを開示し、前記性能検出方法は、サーバーSocketを作成して、サーバーSocketを介してクライアントのテスト要求を受信し、テストプログラムを呼び出し、仮想現実ソフトウェアのメモリ再生メカニズムをテストし、テスト過程に運転される累積データフレーム数、テスト過程におけるメモリ再生操作の呼び出し回数及びテスト過程においてメモリ再生操作を呼び出すたびのCPUの消費時間を含むテスト結果を得て、テスト結果をクライアントに送信し、クライアントは前記テスト結果を解析して、テストレポートを生成するものであり、ソースコードに依存する必要がないため、テストのカバレッジを広げ、仮想現実ソフトウェアのメモリ再生特性をより正確かつ簡便に反映し、テスト者が手動でテストレポートを作成するための人件費を減少させる。
本発明が解決しようとする技術的課題は、Socketクライアントを用いて仮想マシンのSocketリスニングに接続することも、仮想マシンのオペレーティングシステムにログインすることも必要とせず、簡素化、高効率化及び時間短縮化の効果を奏し、且つKVM仮想化プラットフォームのすべてのLinuxオペレーティングシステムに使用でき、クラウド管理プラットフォームによって提供される仮想マシンによって実行されるSocketベースのアプリケーションサービスの可用性を確保し、クラウド管理プラットフォームのユーザーエクスペリエンスを向上させ、クラウド管理プラットフォームがアプリケーション指向の配信モデルを実現するための検出保証方法を提供する、Linux仮想マシンのSocketリスニングの検出方法及びそのシステムを提供することである。
上記技術的課題を解決するために、本発明は、下記技術案を提供する。
Linux仮想マシンのSocketリスニングの検出方法であって、クラウドプラットフォームが、TCP socketリスニングクライアントを介して、仮想マシンが位置するホストのTCP Socket常駐プログラムに接続されて、関連する呼び出し要求を送信するステップS1と、クラウドプラットフォームのTCP socketリスニングクライアントが、仮想マシンのsocketリスニングアドレスip1をリスニングし、TCP Socket常駐プログラムが、socketリスニングアドレスip1を大文字の16進数IPアドレスip4に変換するステップS2と、TCP Socket常駐プログラムが、unix socketファイルに接続されて、リスニング命令を送信するステップS3と、QEMU−KVMプロセスが、リスニング命令を転送して仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、TCP Socket常駐プログラムに保存し、且つ文字列Aとして別途保存するステップS4と、TCP Socket常駐プログラムが、文字列Aのlocal_address列からsocketアドレスのキーワードip4を検索し、キーワードip4が存在する場合、該仮想マシンのsocketがリスニング中であると決定するステップS5と、を含む。
さらに、前記ステップS1の前には、クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいて仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールするステップS0をさらに含み、仮想マシンには、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されている。
さらに、前記ステップS2では、TCP Socket常駐プログラムが、socketリスニングアドレスip1を大文字の16進数IPアドレスip4に変換することは、具体的には、TCP Socket常駐プログラムが、socketリスニングアドレスip1をホストバイトオーダ数字IPアドレスip2に変換し、次に、ip2をネットワークバイトオーダ数字IPアドレスip3に変換し、最後にip3を大文字の16進数IPアドレスip4に変換する。
さらに、前記ステップS4では、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、TCP Socket常駐プログラムに保存し、且つ文字列Aとして別途保存する。
本発明の別の目的は、Linux仮想マシンのSocketリスニングの検出方法を提供することであり、この検出方法は、クラウドプラットフォームが、仮想マシンにおける経路がpathであるunix socketファイルのリスニングを検出するステップS11と、クラウドプラットフォームが、TCP socketリスニングクライアントを介して仮想マシンが位置するホストのTCP Socket常駐プログラムに接続され、関連する呼び出し要求を送信するステップS12と、TCP Socket常駐プログラムが、unix socketファイルに接続されて、リスニング命令を送信するステップS13と、QEMU−KVMプロセスが、リスニング命令を転送して、仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、TCP Socket常駐プログラムに保存し、且つ文字列Bとして別途保存するステップS14と、TCP Socket常駐プログラムが、文字列BのPath列からsocketアドレスのキーワードpathを検索し、キーワードpathが存在する場合、該仮想マシンのsocketがリスニングにあると決定するステップS5と、を含む。
好ましくは、前記ステップS11の前には、クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいて仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールするステップS10をさらに含み、仮想マシンには、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されている。
好ましくは、前記ステップS14では、qemu guest agentアプリケーションが仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、TCP Socket常駐プログラムに保存し、且つ文字列Bとして別途保存する。
本発明のさらなる目的は、Linux仮想マシンのSocketリスニングの検出システムを提供することであり、この検出システムは、互いに接続されているクラウドプラットフォーム及びホストを備え、前記クラウドプラットフォームには、TCP socketリスニングクライアントがインストールされ、前記ホストには、仮想マシン、及びTCP Socket常駐プログラムモジュール、unix socketファイルモジュール及びQEMU−KVMプロセスモジュールがインストールされ、前記仮想マシンには、qemu guest agentアプリケーションモジュールがインストールされているとともに、procファイルモジュール、netファイルモジュール及びtcpファイルモジュールが記憶され、前記TCP socketリスニングクライアントは、TCP Socket常駐プログラムモジュールに接続され、TCP Socket常駐プログラムモジュールに関連する呼び出し要求を送信し、且つ、仮想マシンのsocketリスニングアドレスをリスニングし、前記TCP Socket常駐プログラムモジュールは、unix socketファイルモジュール及び仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールにリスニング命令を送信し、前記TCP Socket常駐プログラムモジュールは、またsocketリスニングアドレスにIPフォーマット変換を行い、TCP Socket常駐プログラムは、その文字列のlocal_address列からsocketアドレスのキーワードIPを検索するか、又はその文字列のPath列からsocketアドレスのキーワードpathを検索し、前記QEMU−KVMプロセスモジュールは、仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールのリスニング命令を転送してqemu guest agentアプリケーションモジュールに入力し、前記qemu guest agentアプリケーションモジュールは、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、前記TCP Socket常駐プログラムモジュールに保存し、且つ文字列として別途保存する。
上記技術案を用いると、本発明は、少なくとも下記有益な効果を有する。本発明によれば、仮想マシンのリスニングアドレスipの検出が必要である場合、クラウドプラットフォームは、TCP Socket常駐プログラムを直接呼び出してキーワードを検索し、それによって、sockeがリスニング中であるか否かを検出することができ、仮想マシンのファイル経路がpathであるunix socketリスニングの検出が必要である場合、クラウドプラットフォームは、TCP Socket常駐プログラムを直接呼び出してキーワードpathを検索し、それによって、sockeがリスニング中であるか否かを検出することができ、本発明の方法は、効率的で簡単であり、検出の利益を向上させる。
本発明の実施例1に係るLinux仮想マシンのSocketリスニングの検出方法のフローチャートである。 本発明の実施例2に係るLinux仮想マシンのSocketリスニングの検出方法のフローチャートである。 本発明の実施例3に係るLinux仮想マシンのSocketリスニングの検出システムのブロック図である。
なお、矛盾がない限り、本出願における実施例及び実施例の特徴を互いに組み合わせることができ、以下、図面及び特定実施例にて本出願をさらに詳細に説明する。
本発明では、各々のKVM物理マシンに、クラウド管理プラットフォームにより呼び出されてクラウド管理プラットフォームとインタラクションを行うためのTCP Socket常駐プログラムが配置され、常駐プログラムは、QEMUプロセス二より開始されるunix socketファイルorg.qemu.guest_agent.0に接続されて関連命令を入力することで、Linux仮想マシン/proc/net/tcp、/proc/net/udp、/proc/net/unixなどのファイルの内容を読み取り、QEMUは、org.qemu.guest_agent.0から仮想マシンの内部のアプリケーションQemuGuestAgentへのデータ交換のチャンネルを提供し、入力された命令は仮想マシンのQemuGuestAgentに伝送され、QemuGuestAgentは、命令を受信すると、仮想マシンのオペレーティングシステムにおける指定経路のファイルの内容を読み取って常駐プログラムに返送し、常駐プログラムは、返送されたファイルの内容を分析することで、Linux仮想マシンに指定されるSocketリスニングが開始されているか否かを検出する。
本発明の方法は、主に2種の同様な方式で実施される。
1、仮想マシンAにおけるtcp/udp socketリスニングアドレスip1:port1の検出が必要である場合、クラウドプラットフォームは、仮想マシンAが位置するホストBのTCP Socket常駐プログラムCを呼び出し、IPアドレスip1をホストバイトオーダ数字IPアドレスip2に変換し、次に、ip2をネットワークバイトオーダ数字IPアドレスip3に変換し、最後に、ip3を大文字の16進数IPアドレスip4に変換する。port1を大文字の16進数port2に変換する。常駐プログラムCは、unix socketファイルorg.qemu.guest_agent.0に接続されて命令を送信することによって、仮想マシンにおけるqemu guest agentアプリケーションが仮想マシンの/proc/net/tcp、/proc/net/udpファイルを読み取るように制御し、プログラムCは、読み取ったファイル内容のlocal_address列からsocketアドレスのキーワードip4:port2を検索し、存在する場合、該tcp/udp sockeはリスニング中である。
2、仮想マシンAにおいてファイル経路がpathであるunix socketリスニングの検出が必要である場合、クラウドプラットフォームは、仮想マシンAが位置するホストBのTCP Socket常駐プログラムCを呼び出し、常駐プログラムCは、unix socketファイルorg.qemu.guest_agent.0に接続されて命令を送信することによって、仮想マシンにおけるqemu guest agentアプリケーションが仮想マシンの/proc/net/unixファイルを読み取るように制御し、プログラムCは、読み取ったファイル内容のPath列からsocketアドレスのキーワードpathを検索し、存在する場合、該socketはリスニング中である。
以下、実施例を詳細に説明する。
(実施例1)
本実施例は、tcp/udp socketリスニングアドレスipに対する説明であり、本実施例は、Linux仮想マシンのSocketリスニングの検出方法を提供し、
クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいて、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されているLinux仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールし、クラウドプラットフォームが、Linux仮想マシンを作成した後、仮想マシンにおけるtcp/udp socketリスニングアドレスip1:port1を検出するステップ1と、
クラウドプラットフォームが、TCP socketリスニングクライアントを介して、仮想マシンが位置するホストのTCP Socket常駐プログラムに接続され、関連する呼び出し要求を送信するステップ2と、
クラウドプラットフォームのTCP socketリスニングクライアントが、仮想マシンのsocketリスニングアドレスip1をリスニングし、TCP Socket常駐プログラムが、socketリスニングアドレスip1をホストバイトオーダ数字IPアドレスip2に変換し、次に、ip2をネットワークバイトオーダ数字IPアドレスip3に変換し、最後に、ip3を大文字の16進数IPアドレスip4に変換するステップ3と、
TCP Socket常駐プログラムが、unix socketファイルorg.qemu.guest_agent.0に接続されて、リスニング命令を送信するステップ4と、
QEMU−KVMプロセスが、リスニング命令を転送して、仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、TCP Socket常駐プログラムに保存し、且つ文字列Aとして別途保存するステップ5と、
TCP Socket常駐プログラムが、文字列Aのlocal_address列からsocketアドレスのキーワードip4を検索し、キーワードip4が存在する場合、該仮想マシンのsocketがリスニング中であると決定するステップ6と、を含む。
(実施例2)
本実施例は、ファイル経路がpathである場合についての説明であり、本実施例は、Linux仮想マシンのSocketリスニングの検出方法を提供し、
クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいてLinux仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールし、仮想マシンには、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されているステップ11と、
クラウドプラットフォームが、Linux仮想マシンにおける、経路がpathであるunix socketファイルのリスニングを検出するステップ12と、
クラウドプラットフォームが、TCP socketリスニングクライアントを介して、仮想マシンが位置するホストのTCP Socket常駐プログラムに接続されて、関連する呼び出し要求を送信するステップ13と、
TCP Socket常駐プログラムが、unix socketファイルに接続されてリスニング命令を送信するステップ14と、
QEMU−KVMプロセスが、リスニング命令を転送して仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、TCP Socket常駐プログラムに保存し、且つ文字列Bとして別途保存するステップ15と、
TCP Socket常駐プログラムが、文字列BのPath列からsocketアドレスのキーワードpathを検索し、キーワードpathが存在する場合、該仮想マシンのsocketがリスニング中であると決定するステップ16と、を含む。
以上から分かるように、実施例1では、TCP Socket常駐プログラムが文字列におけるlocal_address列からsocketアドレスのキーワードipを検索し、実施例2では、TCP Socket常駐プログラムが文字列BのPath列からsocketアドレスのキーワードpathを検索する以外、実施例1及び実施例2の方法のステップは同様である。両方は、ともに同一Linux仮想マシンのSocketリスニングの検出システムにおいて行われる。
(実施例3)
実施例1及び実施例2に係るLinux仮想マシンのSocketリスニングの検出方法に対しては、本実施は、Linux仮想マシンのSocketリスニングの検出システムを提供し、この検出システムは、互いに接続されているクラウドプラットフォーム及びホストを備え、前記クラウドプラットフォームには、TCP socketリスニングクライアントがインストールされ、前記ホストには、仮想マシン、及びTCP Socket常駐プログラムモジュール、unix socketファイルモジュール及びQEMU−KVMプロセスモジュールがインストールされ、前記仮想マシンには、qemu guest agentアプリケーションモジュールがインストールされているとともに、procファイルモジュール、netファイルモジュール及びtcpファイルモジュールが記憶され、
前記TCP socketリスニングクライアントは、TCP Socket常駐プログラムモジュールに接続され、TCP Socket常駐プログラムモジュールに関連する呼び出し要求を送信し、且つ、仮想マシンのsocketリスニングアドレスをリスニングし、
前記TCP Socket常駐プログラムモジュールは、unix socketファイルモジュール及び仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールにリスニング命令を送信し、前記TCP Socket常駐プログラムモジュールは、またsocketリスニングアドレスにIPフォーマット変換を行い、TCP Socket常駐プログラムは、その文字列のlocal_address列からsocketアドレスのキーワードIPを検索し、又はその文字列のPath列からsocketアドレスのキーワードpathを検索し、
前記QEMU−KVMプロセスモジュールは、仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールのリスニング命令を転送してqemu guest agentアプリケーションモジュールに入力し、
前記qemu guest agentアプリケーションモジュールは、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、前記TCP Socket常駐プログラムモジュールに保存し、且つ文字列として別途保存される。
本発明の実施例を示して説明したが、当業者であれば、本発明の原理及び精神を逸脱することなく、これら実施例に対してさまざまな等価変化、修正、置換及び変形を行うことができ、本発明の範囲は、特許請求の範囲及びその同等範囲により限定されることを理解できる。

Claims (8)

  1. Linux仮想マシンのSocketリスニングの検出方法であって、
    クラウドプラットフォームが、TCP socketリスニングクライアントを介して、仮想マシンが位置するホストのTCP Socket常駐プログラムに接続されて、関連する呼び出し要求を送信するステップS1と、
    クラウドプラットフォームのTCP socketリスニングクライアントが、仮想マシンのsocketリスニングアドレスip1をリスニングし、TCP Socket常駐プログラムが、socketリスニングアドレスip1を大文字の16進数IPアドレスip4に変換するステップS2と、
    TCP Socket常駐プログラムが、unix socketファイルに接続されて、リスニング命令を送信するステップS3と、
    QEMU−KVMプロセスが、リスニング命令を転送して仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、TCP Socket常駐プログラムに保存し、且つ文字列Aとして別途保存するステップS4と、
    TCP Socket常駐プログラムが、文字列Aのlocal_address列からsocketアドレスのキーワードip4を検索し、キーワードip4が存在する場合、該仮想マシンのsocketがリスニング中であると決定するステップS5と、を含む、
    ことを特徴とするLinux仮想マシンのSocketリスニングの検出方法。
  2. 前記ステップS1の前には、クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいて仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールするステップS0をさらに含み、仮想マシンには、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されている、
    ことを特徴とする請求項1に記載のLinux仮想マシンのSocketリスニングの検出方法。
  3. 前記ステップS2では、TCP Socket常駐プログラムが、socketリスニングアドレスip1を大文字の16進数IPアドレスip4に変換することは、具体的には、
    TCP Socket常駐プログラムが、socketリスニングアドレスip1をホストバイトオーダ数字IPアドレスip2に変換し、次に、ip2をネットワークバイトオーダ数字IPアドレスip3に変換し、最後にip3を大文字の16進数IPアドレスip4に変換する、
    ことを特徴とする請求項1に記載のLinux仮想マシンのSocketリスニングの検出方法。
  4. 前記ステップS4では、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、TCP Socket常駐プログラムに保存し、且つ文字列Aとして別途保存する、
    ことを特徴とする請求項1に記載のLinux仮想マシンのSocketリスニングの検出方法。
  5. Linux仮想マシンのSocketリスニングの検出方法であって、
    クラウドプラットフォームが、仮想マシンにおける、経路がpathであるunix socketファイルのリスニングを検出するステップS11と、
    クラウドプラットフォームが、TCP socketリスニングクライアントを介して仮想マシンが位置するホストのTCP Socket常駐プログラムに接続され、関連する呼び出し要求を送信するステップS12と、
    TCP Socket常駐プログラムが、unix socketファイルに接続されて、リスニング命令を送信するステップS13と、
    QEMU−KVMプロセスが、リスニング命令を転送して、仮想マシンのqemu guest agentアプリケーションに入力し、qemu guest agentアプリケーションが、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、TCP Socket常駐プログラムに保存し、且つ文字列Bとして別途保存するステップS14と、
    TCP Socket常駐プログラムが、文字列BのPath列からsocketアドレスのキーワードpathを検索し、キーワードpathが存在する場合、該仮想マシンのsocketがリスニング中であると決定するステップS5と、を含む、
    ことを特徴とするLinux仮想マシンのSocketリスニングの検出方法。
  6. 前記ステップS11の前には、
    クラウドプラットフォームにおいてTCP socketリスニングクライアントを作成し、TCP socketリスニングクライアントを介してホストに接続し、ホストにおいて仮想マシンを作成し、TCP Socket常駐プログラム、unix socketファイル及びQEMU−KVMプロセスをインストールするステップS10をさらに含み、仮想マシンには、qemu guest agentアプリケーションがインストールされているとともに、procファイル、netファイル及びtcpファイルが記憶されている、
    ことを特徴とする請求項5に記載のLinux仮想マシンのSocketリスニングの検出方法。
  7. 前記ステップS14では、qemu guest agentアプリケーションが仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、TCP Socket常駐プログラムに保存し、且つ文字列Bとして別途保存する、
    ことを特徴とする請求項5に記載のLinux仮想マシンのSocketリスニングの検出方法。
  8. 互いに接続されているクラウドプラットフォーム及びホストを備える、Linux仮想マシンのSocketリスニングの検出システムであって、
    前記クラウドプラットフォームには、TCP socketリスニングクライアントがインストールされ、前記ホストには、仮想マシン、及びTCP Socket常駐プログラムモジュール、unix socketファイルモジュール及びQEMU−KVMプロセスモジュールがインストールされ、前記仮想マシンには、qemu guest agentアプリケーションモジュールがインストールされているとともに、procファイルモジュール、netファイルモジュール及びtcpファイルモジュールが記憶され、
    前記TCP socketリスニングクライアントは、TCP Socket常駐プログラムモジュールに接続され、TCP Socket常駐プログラムモジュールに関連する呼び出し要求を送信し、且つ、仮想マシンのsocketリスニングアドレスをリスニングし、
    前記TCP Socket常駐プログラムモジュールは、unix socketファイルモジュール仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールにリスニング命令を送信し、
    前記QEMU−KVMプロセスモジュールは、仮想マシンのqemu guest agentアプリケーションモジュールに接続され、unix socketファイルモジュールのリスニング命令を転送してqemu guest agentアプリケーションモジュールに入力し、
    前記qemu guest agentアプリケーションモジュールは、仮想マシンのprocファイル又はnetファイル又はtcpファイルを取得し、これらに対してbase64復号化を行って、前記TCP Socket常駐プログラムモジュールに保存し、且つ文字列として別途保存し、
    前記TCP Socket常駐プログラムモジュールは、またsocketリスニングアドレスにIPフォーマット変換を行い、TCP Socket常駐プログラムは、前記文字列のlocal_address列からsocketアドレスのキーワードIPを検索するか、又は前記文字列のPath列からsocketアドレスのキーワードpathを検索する、
    ことを特徴とするLinux仮想マシンのSocketリスニングの検出システム。
JP2020065634A 2019-12-27 2020-04-01 Linux仮想マシンのSocketリスニングの検出方法及びそのシステム Expired - Fee Related JP6778862B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911379815.4A CN111240924B (zh) 2019-12-27 2019-12-27 一种Linux虚拟机Socket监听的检测方法及其系统
CN201911379815.4 2019-12-27

Publications (2)

Publication Number Publication Date
JP6778862B1 true JP6778862B1 (ja) 2020-11-04
JP2021108090A JP2021108090A (ja) 2021-07-29

Family

ID=70864698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020065634A Expired - Fee Related JP6778862B1 (ja) 2019-12-27 2020-04-01 Linux仮想マシンのSocketリスニングの検出方法及びそのシステム

Country Status (2)

Country Link
JP (1) JP6778862B1 (ja)
CN (1) CN111240924B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074284A (zh) * 2023-04-07 2023-05-05 广东保伦电子股份有限公司 一种pve平台下的虚拟机之间获取ip地址的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565372B (zh) * 2020-11-27 2023-05-09 山东乾云启创信息科技股份有限公司 一种网络隔离时虚拟机与客户机的通信方法及系统
CN113407416B (zh) * 2021-06-29 2022-06-24 杭州默安科技有限公司 一种文件操作ip溯源方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424710B1 (en) * 2002-12-18 2008-09-09 Vmware, Inc. TCP/IP offloading for virtual machines
CN107704312B (zh) * 2017-10-18 2020-11-13 顺丰科技有限公司 一种使qemu-kvm虚拟机执行任意命令的方法及存储介质
CN109002344B (zh) * 2018-06-12 2021-01-15 广东睿江云计算股份有限公司 一种云管理平台重置kvm虚拟机密码的方法
CN109684035B (zh) * 2018-12-17 2020-11-17 武汉烽火信息集成技术有限公司 一种自适应的虚拟机和宿主机通信方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074284A (zh) * 2023-04-07 2023-05-05 广东保伦电子股份有限公司 一种pve平台下的虚拟机之间获取ip地址的方法

Also Published As

Publication number Publication date
JP2021108090A (ja) 2021-07-29
CN111240924A (zh) 2020-06-05
CN111240924B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
JP6778862B1 (ja) Linux仮想マシンのSocketリスニングの検出方法及びそのシステム
CN109543121B (zh) 一种外链url资源调用方法及装置
JP5323021B2 (ja) 動的に拡張可能な仮想スイッチの装置および方法
US11422797B1 (en) Using graph partitioning for software decomposition during modernization processes
US11537400B1 (en) Automatically mapping binary executable files to source code by a software modernization system
US20070101323A1 (en) Automatic virtual machine adjustments to network changes
US20100257269A1 (en) Method and System for Migrating Processes Between Virtual Machines
US20130086594A1 (en) Execution of applications distributed across a plurality of computing devices
JP7180907B2 (ja) 接続されたアクセラレータベースの推論サービス
KR20110052714A (ko) 이름 분석을 사용한 가상 리소스의 프로비저닝
US10915437B1 (en) Framework for performing load testing and profiling of services
US10929277B2 (en) Detecting hard-coded strings in source code
US8024444B2 (en) Associating telemetry data from a group of entities
US11853753B1 (en) Detection, presentation, and resolution of bottlenecks in monolith decomposition
US11494285B1 (en) Static code analysis tool and configuration selection via codebase analysis
CN105447203A (zh) 一种共享文件的访问方法、系统及相关设备
US11785054B2 (en) Deriving system architecture from security group relationships
US20120072907A1 (en) Proxy tool for guest machine relocation
US20040221298A1 (en) Network device drivers using a communication transport
CN115237735A (zh) 一种虚拟机串口日志收集方法、装置、设备及介质
WO2019178754A1 (zh) 计算机设备中客户操作系统屏幕截图方法和装置
US11134117B1 (en) Network request intercepting framework for compliance monitoring
Bhat et al. Practical Docker with Python
US11704408B1 (en) Threat scanning transplanted containers
US20180351828A1 (en) Network asset management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200401

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200401

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200907

R150 Certificate of patent or registration of utility model

Ref document number: 6778862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees