Wireshark ----- Port Source: Timbuktu-srv2?
-
18-09-2019 - |
Question
tout ce que je suis en train d'établir le peer to peer (UDP) via l'extension Firefox. Je programme python qui fonctionne en ligne de commande. Je construit un composant XPCOM utiliser. Mais, étonnamment, je ne pouvais recevoir des messages au travers du programme python de ligne de commande.
Nous avons essayé suivant (Tout travail sur localhost):
composant Firefox XPCOM expéditeur -> composant firefox XPCOM récepteur - ne fonctionne pas
ligne de commande Python comme expéditeur -> firefox composant xpcom comme récepteur - ouvré
composants XPCOM Firefox comme expéditeur -> ligne de commande Python récepteur - ne fonctionne pas
python ligne de commande en tant qu'expéditeur -> ligne de commande du python comme récepteur - ouvré
Lorsque nous avons observé des paquets en utilisant Wireshark nous avons eu quelques différences -
Firefox xpcom à la ligne de commande python firefox xpcom à firefox xpcom (qui n'a pas travaillé) ont enregistrement de paquets comme suit
Ce type de paquets (port source non marqué comme nombre) produit par
Winsock (C ++)
XPCOM composant
C #
...UDP Source port: timbuktu-srv2 Destination port: 30000
ligne de commande python à la ligne de commande python commande Python ligne XPCOM (qui a travaillé) ont enregistrement de paquets comme suit
... UDP Source port: 30000 Destination port: 30000
Je ne sais pas beaucoup sur la mise en réseau, mais le dossier marqué ..Source port: timbuktu-srv2..
ne parvient pas à atteindre sa destination.
J'ai essayé communication p2p utilisant Python, C ++ (Winsock), C #, mais seulement réussi pourrait avec une différence Python seulement je pouvais observer est tel type d'enregistrement spécifique avec python ..
un peu de lumière gourous de réseautage flash peut-dessus?
La solution
Le timbuktu-srv2
vous voyez est juste le résultat de la recherche Wireshark le numéro de port réel par rapport à la liste des services connus. Si vous vérifiez les numéros de port attribué IANA liste , vous verrez cette entrée:
timbuktu-srv2 1418/udp Timbuktu Service 2 Port
... de sorte que votre application signifie simplement utilisé 1418 le port source du paquet UDP a envoyé. 30000 ne soit pas transformé en un nom de service de texte parce que votre base de données de services locaux ne possède pas d'entrée pour ce numéro de port.
, à elle seule, n'explique pas la question - vraiment, côté serveur doit accepter le client à l'aide quel que soit le port source, il veut. Cependant, il semble probable dans ce cas que le côté recepteur ne s'accepte les paquets avec un port source de 30000. Pour cela, vous devez lier la prise à la INADDR_ANY
adresse locale et le port 30000 avant d'envoyer votre paquet (s).