Red de conocimientos turísticos - Información de alquiler - ¿Cómo ejecutar comandos de script de shell en el programa c\c?

¿Cómo ejecutar comandos de script de shell en el programa c\c?

Para ejecutar comandos de shell en código fuente C/C, la función más básica es la función de biblioteca system() C. En segundo lugar, puede utilizar las funciones API proporcionadas por el sistema, como createprocess shellexecuteex en Windows, exec() en Linux y otras funciones.

La siguiente es una versión de prueba que hice en Windows, usando subprocesos. Creo que es mejor usar nc para probar. Es mejor usar directamente netstat-an | Findstr/I " UDP " | Findstr " 22 ", porque el puerto 22 es demasiado especial y se puede detectar fácilmente. Además, la forma convencional que tiene nc para determinar el puerto es mirar la información del mensaje.

# incluir ltstdio.h gt

# incluir ltstdlib.h gt

# incluir lttchar.h gt

# incluir ltwindows. h gt

# include ltprocess.h gt

UINT _ _ stdcall thread func(LPVOID lpParam){

//Usar cadena de hacker como datos de envío nc.

int ret = system("Echo Hacker | nc.exe-u 127.1 22 ");

//ret==0 significa que el puerto 22 no está abierto.

if (ret == 0 ) printf("nc: Error de escritura: Conexión rechazada. \n "); p>

int main()

{

HANDLE hThread =(HANDLE)_ beginthreadex(0, 0, ThreadFunc, 0, 0, 0

);

//Espera 3 segundos, lo que indica que el puerto 22 está disponible.

WaitForSingleObject(hThread, 3000);

//Finalizar el hilo de prueba

TerminateThread(hThread, 0);

// Reiniciar Abra el puerto 22 de la conexión NC.

system(" NC . exe-vv-u 127.1 22 ");

Devuelve 0

}

Bienvenido a X; 30 Tieba, una plataforma de intercambio de tecnología informática de alta calidad.