Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à
partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.)
mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma
pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zouplaz
Fatal Error - :
On 23 Oct 2004 11:01:55 GMT, Zouplaz wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Comment puis-je faire ?
Heuuu... Programmer ?
Je cherche à tester mon code, si je programme je ne suis plus sûr de rien... Où seront les bugs ? Côté pile , côté face ?
Fatal Error - Fatal@nowhere.com :
On 23 Oct 2004 11:01:55 GMT, Zouplaz <pouet@pouet.com> wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à
partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par
ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie
UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la
demande
Comment puis-je faire ?
Heuuu... Programmer ?
Je cherche à tester mon code, si je programme je ne suis plus sûr de
rien... Où seront les bugs ? Côté pile , côté face ?
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Comment puis-je faire ?
Heuuu... Programmer ?
Je cherche à tester mon code, si je programme je ne suis plus sûr de rien... Où seront les bugs ? Côté pile , côté face ?
Jacques Caron
On 23 Oct 2004 11:01:55 GMT, Zouplaz wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas comment envoyer un paquet UDP...
man socket, man udp, man sendto, man perlipc...
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
On 23 Oct 2004 11:01:55 GMT, Zouplaz <pouet@pouet.com> wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à
partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par
ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP
de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la
demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas
comment envoyer un paquet UDP...
man socket, man udp, man sendto, man perlipc...
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas comment envoyer un paquet UDP...
man socket, man udp, man sendto, man perlipc...
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
T0t0
"Zouplaz" wrote in message news:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
hping.
Sous windows, frameip.exe.
-- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
"Zouplaz" <pouet@pouet.com> wrote in message
news:Xns958B849444D9CZoupla@212.27.42.66
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à
partir d'un poste linux...
hping.
Sous windows, frameip.exe.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
hping.
Sous windows, frameip.exe.
-- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Jacques Caron
On 23 Oct 2004 12:44:16 GMT, Zouplaz wrote:
Je cherche à tester mon code, si je programme je ne suis plus sûr de rien... Où seront les bugs ? Côté pile , côté face ?
Programmer ne veut pas forcément dire réimplémenter une couche UDP des deux côtés, mais utiliser l'implémentation existante.
Mais puisque DNS utilise UDP, la solution la plus simple pour envoyer des datagrammes UDP (si le contenu des paquets n'est pas important) est probablement:
dig toto.com. @<adresse IP du serveur à tester>
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
On 23 Oct 2004 12:44:16 GMT, Zouplaz <pouet@pouet.com> wrote:
Je cherche à tester mon code, si je programme je ne suis plus sûr de
rien... Où seront les bugs ? Côté pile , côté face ?
Programmer ne veut pas forcément dire réimplémenter une couche UDP des
deux côtés, mais utiliser l'implémentation existante.
Mais puisque DNS utilise UDP, la solution la plus simple pour envoyer des
datagrammes UDP (si le contenu des paquets n'est pas important) est
probablement:
dig toto.com. @<adresse IP du serveur à tester>
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
Je cherche à tester mon code, si je programme je ne suis plus sûr de rien... Où seront les bugs ? Côté pile , côté face ?
Programmer ne veut pas forcément dire réimplémenter une couche UDP des deux côtés, mais utiliser l'implémentation existante.
Mais puisque DNS utilise UDP, la solution la plus simple pour envoyer des datagrammes UDP (si le contenu des paquets n'est pas important) est probablement:
dig toto.com. @<adresse IP du serveur à tester>
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Jacques Caron
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur: #!/usr/bin/perl -w use strict; use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1")))) or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye
<emdel@YOURBRAnoos.fr> wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui
fonctionne, comme un générateur de trame... Mais c'est vrai que la
formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur:
#!/usr/bin/perl -w
use strict;
use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket:
$!";
defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1"))))
or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur: #!/usr/bin/perl -w use strict; use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1")))) or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Emmanuel Delahaye
Jacques Caron wrote on 23/10/04 :
On 23 Oct 2004 11:01:55 GMT, Zouplaz wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas comment envoyer un paquet UDP...
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Jacques Caron wrote on 23/10/04 :
On 23 Oct 2004 11:01:55 GMT, Zouplaz <pouet@pouet.com> wrote:
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à
partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par
ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP
de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la
demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas
comment envoyer un paquet UDP...
Nan, le monsieur, il cherche à valider son code avec une outil qui
fonctionne, comme un générateur de trame... Mais c'est vrai que la
formumation prètait à confusion...
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
Bonjour, je cherche un moyen de provoquer l'envoi de datagrammes UDP à partir d'un poste linux...
Je sais que ce protocole est utilisé par de nombreux services (DNS par ex.) mais comme je voudrais tester (heu à vrai dire, coder) la partie UDP de ma pile TCP/IP j'ai besoin de recevoir des datagrammes UDP à la demande
Ca m'inquiète quand quelqu'un qui veut coder une pile TCP/IP ne sait pas comment envoyer un paquet UDP...
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Zouplaz
Jacques Caron - :
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur: #!/usr/bin/perl -w use strict; use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1"))) ) or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques.
Oui mais là, tu envois des données brutes (sans rapport avec un protocole particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à rien pour valider le code de mon implémentation UDP.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
Jacques Caron - jc@imfeurope.com :
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye
<emdel@YOURBRAnoos.fr> wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui
fonctionne, comme un générateur de trame... Mais c'est vrai que la
formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur:
#!/usr/bin/perl -w
use strict;
use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die
"socket: $!";
defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1")))
) or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques.
Oui mais là, tu envois des données brutes (sans rapport avec un protocole
particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à
rien pour valider le code de mon implémentation UDP.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond
parfaitement à mes besoins.
On Sat, 23 Oct 2004 18:41:59 +0200, Emmanuel Delahaye wrote:
Nan, le monsieur, il cherche à valider son code avec une outil qui fonctionne, comme un générateur de trame... Mais c'est vrai que la formumation prètait à confusion...
Ben avec UDP, un générateur de trame c'est quand même pas super dur: #!/usr/bin/perl -w use strict; use Socket;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; defined(send(SOCKET,"message",0,sockaddr_in(53,inet_aton("127.0.0.1"))) ) or die "send: $!";
remplacer message, 53 et 127.0.0.1 par les valeurs adéquates.
Jacques.
Oui mais là, tu envois des données brutes (sans rapport avec un protocole particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à rien pour valider le code de mon implémentation UDP.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
Jacques Caron
On 25 Oct 2004 10:18:28 GMT, Zouplaz wrote:
Oui mais là, tu envois des données brutes (sans rapport avec un protocole particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à rien pour valider le code de mon implémentation UDP.
Ca permet de valider au minimum la réception: tu envoies un datagramme quelconque, et tu vérifies si à l'autre bout du reçois exactement la même chose, et que ça a passé tous les tests (checksums, numéro de port...).
Pour l'inverse c'est pas beaucoup plus compliqué de recevoir des paquets UDP: #!/usr/bin/perl -w use strict; use Socket;
my $buf; socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; bind(SOCKET,sockaddr_in(8765,inet_aton("127.0.0.1"))) or die "bind: $!"; while (recv(SOCKET,$buf,1500,0)) { print "$bufn"; }
On pourra avoir envie de mettre: print "".(unpack "H*",$buf)."n"; à la place du print "$bufn"; pour avoir la version hexa, sinon on peut piper dans hd. Evidemment, comme précédemment, on remplace 8765 et 127.0.0.1 par les valeurs appropriées.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP *et* ton implémentation DNS en même temps... Et tu auras plus de mal à vérifier les cas extrêmes: datagrammes UDP à découper en plusieurs paquets IP par exemple.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
On 25 Oct 2004 10:18:28 GMT, Zouplaz <pouet@pouet.com> wrote:
Oui mais là, tu envois des données brutes (sans rapport avec un protocole
particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à
rien pour valider le code de mon implémentation UDP.
Ca permet de valider au minimum la réception: tu envoies un datagramme
quelconque, et tu vérifies si à l'autre bout du reçois exactement la même
chose, et que ça a passé tous les tests (checksums, numéro de port...).
Pour l'inverse c'est pas beaucoup plus compliqué de recevoir des paquets
UDP:
#!/usr/bin/perl -w
use strict;
use Socket;
my $buf;
socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket:
$!";
bind(SOCKET,sockaddr_in(8765,inet_aton("127.0.0.1"))) or die "bind: $!";
while (recv(SOCKET,$buf,1500,0))
{
print "$bufn";
}
On pourra avoir envie de mettre:
print "".(unpack "H*",$buf)."n";
à la place du print "$bufn"; pour avoir la version hexa, sinon on peut
piper dans hd. Evidemment, comme précédemment, on remplace 8765 et
127.0.0.1 par les valeurs appropriées.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui
correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP *et*
ton implémentation DNS en même temps... Et tu auras plus de mal à vérifier
les cas extrêmes: datagrammes UDP à découper en plusieurs paquets IP par
exemple.
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
Oui mais là, tu envois des données brutes (sans rapport avec un protocole particulier) et pire, sans attendre une quelconque réponse. Ca ne sert à rien pour valider le code de mon implémentation UDP.
Ca permet de valider au minimum la réception: tu envoies un datagramme quelconque, et tu vérifies si à l'autre bout du reçois exactement la même chose, et que ça a passé tous les tests (checksums, numéro de port...).
Pour l'inverse c'est pas beaucoup plus compliqué de recevoir des paquets UDP: #!/usr/bin/perl -w use strict; use Socket;
my $buf; socket(SOCKET,PF_INET,SOCK_DGRAM,getprotobyname('udp')) or die "socket: $!"; bind(SOCKET,sockaddr_in(8765,inet_aton("127.0.0.1"))) or die "bind: $!"; while (recv(SOCKET,$buf,1500,0)) { print "$bufn"; }
On pourra avoir envie de mettre: print "".(unpack "H*",$buf)."n"; à la place du print "$bufn"; pour avoir la version hexa, sinon on peut piper dans hd. Evidemment, comme précédemment, on remplace 8765 et 127.0.0.1 par les valeurs appropriées.
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP *et* ton implémentation DNS en même temps... Et tu auras plus de mal à vérifier les cas extrêmes: datagrammes UDP à découper en plusieurs paquets IP par exemple.
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Zouplaz
Jacques Caron - :
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP *et* ton implémentation DNS en même temps... Et tu auras plus de mal à vérifier les cas extrêmes: datagrammes UDP à découper en plusieurs paquets IP par exemple.
C'est pas un problème car je vais devoir implémenter une mini résolution de nom (dans l'autre sens client -> serveur) donc ça me permet d'expérimenter un peu... Et puis, travailler avec des données réelles est plus efficace (la réception UDP fonctionne déjà, il faut donc que j'ai un poil plus loin)
En plus, ethereal m'indique les datagrammes UDP mal formés quelque soit le protocole (DNS en l'occurence)...
Jacques Caron - jc@imfeurope.com :
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui
correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP
*et* ton implémentation DNS en même temps... Et tu auras plus de mal
à vérifier les cas extrêmes: datagrammes UDP à découper en plusieurs
paquets IP par exemple.
C'est pas un problème car je vais devoir implémenter une mini résolution de
nom (dans l'autre sens client -> serveur) donc ça me permet d'expérimenter
un peu... Et puis, travailler avec des données réelles est plus efficace
(la réception UDP fonctionne déjà, il faut donc que j'ai un poil plus loin)
En plus, ethereal m'indique les datagrammes UDP mal formés quelque soit le
protocole (DNS en l'occurence)...
Je préfère ton idée d'utiliser le protocole DNS avec dig, ce qui correspond parfaitement à mes besoins.
L'inconvénient est que dans ce cas du testes ton implémentation UDP *et* ton implémentation DNS en même temps... Et tu auras plus de mal à vérifier les cas extrêmes: datagrammes UDP à découper en plusieurs paquets IP par exemple.
C'est pas un problème car je vais devoir implémenter une mini résolution de nom (dans l'autre sens client -> serveur) donc ça me permet d'expérimenter un peu... Et puis, travailler avec des données réelles est plus efficace (la réception UDP fonctionne déjà, il faut donc que j'ai un poil plus loin)
En plus, ethereal m'indique les datagrammes UDP mal formés quelque soit le protocole (DNS en l'occurence)...