¿Cómo ejecutar comandos de script de shell en el programa c\c?
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.