A voir également:
- Bash to c
- Qwerty to azerty - Guide
- Video to video - Télécharger - Conversion & Codecs
- List bash ✓ - Forum Shell
- Majuscule to minuscule - Guide
- Acsm to pdf ✓ - Forum PDF
12 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 mars 2011 à 13:51
26 mars 2011 à 13:51
Je t'ai dit que la commande c'est plutôt sur le forum GNU/Linux qu'il faut aller...
Ce que tu fais ce n'est pas du C, mais juste l'encapsulation de shell dans du C via system.
Je redirige donc ton post...
Ce que tu fais ce n'est pas du C, mais juste l'encapsulation de shell dans du C via system.
Je redirige donc ton post...
Je c bien mais un modo ma redirigé ici pourtant
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 mars 2011 à 13:58
26 mars 2011 à 13:58
Beh ce que tu cherches avant tout c'est la commande shell pour mettre le MTU à 1400. C'est donc bien du GNU/Linux.
Une fois que tu auras la commande, t'auras plus qu'à la mettre dans ta fonction system.
Une fois que tu auras la commande, t'auras plus qu'à la mettre dans ta fonction system.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 mars 2011 à 14:01
26 mars 2011 à 14:01
Moi ce que j'ai compris c'est qu'il cherche à faire interpréter une commande bash par une fonction en C, non ?
D'une, il ne connait pas la commande bash et c'est bien ici qu'il doit demander.
De deux, il la connait et c'est propre au C, donc via Programmation.
D'une, il ne connait pas la commande bash et c'est bien ici qu'il doit demander.
De deux, il la connait et c'est propre au C, donc via Programmation.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 mars 2011 à 13:56
26 mars 2011 à 13:56
Salut,
mais juste l'encapsulation de shell dans du C via system
Donc la base c'est du C, non ?
Il aura plus de chance d'avoir des réponses dans Programmation qu'ici ;-\
Mon but et de m'habituer au C vu que je connais déga bien le bash.
Ou alors j'ai mal compris ;-(
mais juste l'encapsulation de shell dans du C via system
Donc la base c'est du C, non ?
Il aura plus de chance d'avoir des réponses dans Programmation qu'ici ;-\
Mon but et de m'habituer au C vu que je connais déga bien le bash.
Ou alors j'ai mal compris ;-(
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 mars 2011 à 14:06
26 mars 2011 à 14:06
Ce qu'il semble le bloquer est la commande pour changer le MTU.
Une fois qu'il l'aura, il n'aura plus qu'à mettre exactement la même commande dans la fonction system(). Donc à mon sens c'est du Linux.
D'ailleurs tout ce qu'on met dans la fonction system() relève plus du shell puisque c'est le propre de cette fonction.
Une fois qu'il l'aura, il n'aura plus qu'à mettre exactement la même commande dans la fonction system(). Donc à mon sens c'est du Linux.
D'ailleurs tout ce qu'on met dans la fonction system() relève plus du shell puisque c'est le propre de cette fonction.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
+1 zip31 je veux pouvoir faire fonctionner des commandes bash avec les "if" "else" du C.
On va prendre un autre exemple le MTU c'est vrai c'est pas top, dans l'exemple qui va suivre je veux changer mon adresse mac par rapport a celle d'origine donc est-ce que si je fais:
system("ifconfig");
sleep(60);
if (MAC==00:26:1B:30:65:90)
{
system("ifconfig wlan0 hw ether 00:11:22:33:44:55")
}
break;;
c'est bon comme ça?
On va prendre un autre exemple le MTU c'est vrai c'est pas top, dans l'exemple qui va suivre je veux changer mon adresse mac par rapport a celle d'origine donc est-ce que si je fais:
system("ifconfig");
sleep(60);
if (MAC==00:26:1B:30:65:90)
{
system("ifconfig wlan0 hw ether 00:11:22:33:44:55")
}
break;;
c'est bon comme ça?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 mars 2011 à 14:10
26 mars 2011 à 14:10
Désolé, mon truc c'est le bash (et encore), le C je n'y connais rien ;-(
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 26/03/2011 à 14:13
Modifié par fiddy le 26/03/2011 à 14:13
Je vais faire un récapitulatif que les choses soient claires.
La fonction system("") te permet d'émuler le shell (grosso modo). Donc tout ce que tu mets dans cette fonction, c'est ce que tu obtiendras si tu avais tapé la commande dans ton shell. Donc si tu cherches une commande (comme pour changer le MTU) via system c'est ici que tu dois demander.
Pour tout ce qui n'est pas de la fonction system(), tu dois demander sur Programmation.
De plus, ne compte pas sur la fonction system() pour récupérer des variables.
Si tu veux récupérer l'adresse MAC, ce n'est pas avec system("ifconfig").
Il faudra utiliser des vraies fonctions en C. Et dans ce cas c'est bien sur la partie programmation que tu dois demander.
J'espère que c'est plus clair.
A toi de voir ce que tu veux vraiment et de bien l'écrire.
Cdlt,
La fonction system("") te permet d'émuler le shell (grosso modo). Donc tout ce que tu mets dans cette fonction, c'est ce que tu obtiendras si tu avais tapé la commande dans ton shell. Donc si tu cherches une commande (comme pour changer le MTU) via system c'est ici que tu dois demander.
Pour tout ce qui n'est pas de la fonction system(), tu dois demander sur Programmation.
De plus, ne compte pas sur la fonction system() pour récupérer des variables.
Si tu veux récupérer l'adresse MAC, ce n'est pas avec system("ifconfig").
Il faudra utiliser des vraies fonctions en C. Et dans ce cas c'est bien sur la partie programmation que tu dois demander.
J'espère que c'est plus clair.
A toi de voir ce que tu veux vraiment et de bien l'écrire.
Cdlt,
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
26 mars 2011 à 14:09
26 mars 2011 à 14:09
Ce qu'on y met oui, mais ce qui l'y met non ;-\
D'accord donc pour récupéré les variables tel que l'adresse MAC je dois inclure quoi dans le prog si je reprend l'exemple que j'ai donné?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 mars 2011 à 14:34
26 mars 2011 à 14:34
Ca m'avance pas beaucoup
Beh normal. Un coup tu veux faire du C, un coup tu fais du Shell...
Pour la réponse :
L'adresse MAC se trouve dans : buf.ifr_hwaddr.sa_data
Beh normal. Un coup tu veux faire du C, un coup tu fais du Shell...
Pour la réponse :
int main (void) { struct ifreq buf; int d; d = socket(PF_INET, SOCK_DGRAM, 0); memset(&buf, 0, sizeof buf)); strcpy(buf.ifr_name, "TON INTERFACE"); ioctl(d, SIOCGIFHWADDR, &buf); close(d); return 0; }
L'adresse MAC se trouve dans : buf.ifr_hwaddr.sa_data
Ok merci ^^ pourrais tu me donner une liste de fonction pour récupéré plus de choses, le nom de mon réseau, le cryptage, l'addresse mac du réseau, le canal etc...
Je tente de faire en sorte que si trop de monde se connecte sur ma box (par exemple pas plus de 4 personne en wifi) l'accès en soit refusé avec un temps d'attente jusqu'a ce que quelq'un se deconnecte.
Je tente de faire en sorte que si trop de monde se connecte sur ma box (par exemple pas plus de 4 personne en wifi) l'accès en soit refusé avec un temps d'attente jusqu'a ce que quelq'un se deconnecte.
Up
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 26/03/2011 à 23:26
Modifié par fiddy le 26/03/2011 à 23:26
Ces fonctions n'existent pas toutes faites en C, il faut les construire soit-même soit avoir recours à une bibliothèque. Sur google, tu devrais trouver ces fonctions là. Mais effectivement ce n'est pas si évident.