Đây là lệnh ảo có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
ảo gì - phát hiện xem chúng ta có đang chạy trong một máy ảo không
TÓM TẮT
ảo gì [tùy chọn]
MÔ TẢ
"Virt-what" là một tập lệnh shell có thể được sử dụng để phát hiện xem chương trình có đang chạy trong
máy ảo.
Chương trình in ra danh sách "sự thật" về máy ảo, bắt nguồn từ
kinh nghiệm học. Một sự thật được in trên mỗi dòng.
Nếu không có gì được in và tập lệnh thoát với mã 0 (không có lỗi), thì điều đó có nghĩa là hay
rằng chương trình đang chạy trên kim loại trần or chương trình đang chạy bên trong một loại
máy ảo mà chúng tôi không biết hoặc không thể phát hiện.
FACTS
hyperv
Đây là trình siêu giám sát Hyper-V của Microsoft.
Tình trạng: được xác nhận bởi RWMJ
ibm_systemz
Đây là hệ thống phân vùng phần cứng IBM SystemZ (hoặc S / 390 khác). Thêm vào
sự kiện được liệt kê dưới đây cũng có thể được in.
ibm_systemz-trực tiếp
Đây là Linux chạy trực tiếp trên hệ thống phân vùng phần cứng SystemZ của IBM.
Đây được cho là một cấu hình rất bất thường - nếu bạn thấy kết quả này, bạn
nên đối xử với nó bằng sự nghi ngờ.
Tình trạng: chưa xác nhận
ibm_systemz-lpar
Đây là Linux chạy trực tiếp trên LPAR trên phân vùng phần cứng IBM SystemZ
hệ thống.
Tình trạng: chưa xác nhận
ibm_systemz-zvm
Đây là khách az / VM đang chạy trong LPAR trên phân vùng phần cứng IBM SystemZ
hệ thống.
Trạng thái: được xác nhận bởi RWMJ bằng một khách Fedora chạy trong z / VM
linux_vserver
Điều này được in ra để tương thích ngược với những gì cũ hơn không thể
phân biệt giữa khách và máy chủ vùng chứa Linux VServer.
linux_vserver-khách
Quá trình này đang chạy trong vùng chứa VServer của Linux.
Tình trạng: do BarXX Metin đóng góp
linux_vserver-host
Quá trình này đang chạy dưới dạng máy chủ Linux VServer (VxID 0).
Tình trạng: do BarXX Metin và Elan Ruusamaee đóng góp
lxc Quá trình này đang chạy trong vùng chứa Linux LXC.
Tình trạng: do Marc Fournier đóng góp
Kvm Khách này đang chạy trên KVM hypervisor bằng cách sử dụng tăng tốc phần cứng.
Lưu ý rằng nếu hypervisor đang sử dụng tăng tốc phần mềm, bạn nên không xem này,
nhưng nên xem thực tế "qemu" thay thế.
Tình trạng: được xác nhận bởi RWMJ.
openvz
Khách dường như đang chạy bên trong vùng chứa OpenVZ hoặc Virtuozzo.
Tình trạng: do Evgeniy Sokolov đóng góp
song song
Khách đang chạy bên trong Nền tảng ảo Parallels (Parallels Desktop, Parallels
Người phục vụ).
Trạng thái: do Justin Clift đóng góp
powervm_lx86
Khách đang chạy bên trong trình giả lập IBM PowerVM Lx86 Linux / x86.
Trạng thái: dữ liệu ban đầu được cung cấp bởi Jeffrey Scheel, được đồng nhất bởi Yufang Zhang và RWMJ
Ái chà
Đây là siêu giám sát QEMU sử dụng mô phỏng phần mềm.
Lưu ý rằng đối với khách KVM (tăng tốc phần cứng), bạn nên không xem này.
Tình trạng: được xác nhận bởi RWMJ.
ừm Đây là khách Linux ở Chế độ Người dùng (UML).
Tình trạng: do Laurent Leonard đóng góp
đức hạnh
Một số loại ảo hóa dường như đã xuất hiện, nhưng chúng tôi không chắc chắn nó là gì. Trong
một số trường hợp góc rất hiếm mà chúng tôi biết rằng ảo hóa rất khó phát hiện, chúng tôi
sẽ thử tấn công thời gian để xem liệu các lệnh máy nhất định có chạy nhiều hơn không
chậm hơn mức bình thường, điều này cho thấy hiện tượng ảo hóa. Trong trường hợp này,
sự thật chung chung "Virt" được in.
đức hạnh
Đây là hệ thống phân vùng phần cứng Virtage của Hitachi Virtualization Manager (HVM).
Tình trạng: dữ liệu do Bhavna Sarathy cung cấp, chưa được xác nhận
VirtualBox
Đây là một khách VirtualBox.
Tình trạng: do Laurent Leonard đóng góp
máy tính ảo
Khách dường như đang chạy trên Microsoft VirtualPC.
Tình trạng: chưa xác nhận
vmware
Khách dường như đang chạy trên VMware hypervisor.
Tình trạng: được xác nhận bởi RWMJ
xen kẽ Khách dường như đang chạy trên Xen hypervisor.
Tình trạng: được xác nhận bởi RWMJ
xen-dom0
Đây là Xen dom0 (miền đặc quyền).
Tình trạng: được xác nhận bởi RWMJ
xen-domU
Đây là một Xen domU (miền khách được paravirtualized).
Tình trạng: được xác nhận bởi RWMJ
xen-hvm
Đây là một Xen khách được ảo hóa hoàn toàn (HVM).
Tình trạng: được xác nhận bởi RWMJ
EXIT TÌNH TRẠNG
Các chương trình sử dụng hoặc bao bọc "Virt-what" nên kiểm tra xem trạng thái thoát là 0 trước khi chúng
cố gắng phân tích cú pháp đầu ra của lệnh.
Trạng thái thoát khác XNUMX cho biết một số lỗi, ví dụ: một dòng lệnh không được công nhận
tranh luận. Nếu trạng thái thoát là khác XNUMX thì đầu ra "dữ kiện" (nếu có đã được in)
không thể được đảm bảo và nên được bỏ qua.
Trạng thái thoát không không có liên quan gì đến việc chương trình có đang chạy hay không
không kim loại hoặc dưới ảo hóa, cũng như không có phát hiện được quản lý "ảo hóa" hay không
"chính xác" (về cơ bản không thể biết được do có nhiều loại ảo hóa
hệ thống ra khỏi đó và một số hệ thống cố tình mô phỏng những hệ thống khác).
ĐANG CHẠY VIRT-CÁI GÌ TỪ KHÁC CHƯƠNG TRÌNH
"Virt-what" được thiết kế để bạn có thể dễ dàng chạy nó từ các chương trình khác hoặc gói gọn trong
Thư viện.
Chương trình của bạn nên kiểm tra trạng thái thoát (xem phần trên).
Một số ngôn ngữ lập trình (đặc biệt là Python: issue 1652) che dấu sai "SIGPIPE"
tín hiệu và không khôi phục nó khi thực hiện các quy trình con. "Virt-what" là một tập lệnh shell
và một số lệnh shell không hoạt động chính xác khi bạn thực hiện việc này. Bạn có thể thấy cảnh báo từ
"Virt-what" tương tự như thế này:
echo: lỗi ghi: Đường ống bị hỏng
Giải pháp là đặt bộ xử lý tín hiệu "SIGPIPE" trở lại "SIG_DFL" trước khi chạy
"đức-cái-gì".
QUAN TRỌNG LƯU Ý
Hầu hết thời gian, sử dụng chương trình này là sai điều cần làm. Thay vào đó, bạn nên phát hiện
các tính năng cụ thể mà bạn thực sự muốn sử dụng. (Ví dụ, nếu bạn muốn phát hành
Xen lệnh hypervisor mà bạn sẽ tìm kiếm tệp "/ proc / xen / privcmd").
Tuy nhiên mọi người liên tục yêu cầu điều này, vì vậy chúng tôi cung cấp nó. Có một số cách sử dụng hợp pháp:
Công cụ báo cáo lỗi
Nếu bạn nghĩ rằng ảo hóa có thể ảnh hưởng đến cách chương trình của bạn chạy, thì bạn có thể
sử dụng "Virt-what" để báo cáo điều này trong một công cụ báo cáo lỗi.
Các công cụ giám sát và hiển thị trạng thái
Bạn có thể đưa thông tin này vào trạng thái và các chương trình giám sát.
Điều chỉnh hệ thống (đôi khi)
Bạn có thể sử dụng chương trình này để điều chỉnh hệ điều hành để nó chạy tốt hơn dưới dạng ảo
máy của một hypervisor cụ thể. Tuy nhiên, nếu cài đặt trình điều khiển paravirtualized,
tốt hơn nên kiểm tra các tính năng cụ thể mà trình điều khiển của bạn cần (ví dụ: về sự hiện diện
của các thiết bị PCI).
Sử dụng ảo trực tuyến bằng các dịch vụ onworks.net