Obtenez de l'adresse réseau et le masque de réseau en Python

Dans mon script Python, j'ai besoin de récupérer l'adresse IP de la machine, le script est exécuté et son adresse de réseau et de son réseau d'octets.

Que pour l'adresse IP, j'ai trouvé la solution dans l'archive:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("www.google.com",80))
myAddress = (s.getsockname()[0])
s.close()

Mais comment dois-je aller sur la recherche de l'adresse réseau et le réseau d'octets? J'ai besoin de mettre cette information dans un filtre pour tcpdump dans le format $NetworkAddress/$NetworkBytes, si cela aide à tous.

Exemple:

128.1.2.0/20

Je peux les trouver sous inet quand je lance ip addr. Un moyen facile d'obtenir cette information en Python?

  • NetworkBytes ou le masque de réseau?
  • +1 pour montrer ce que vous avez jusqu'à présent
  • Qu'entendez-vous par "adresse réseau" et "réseau octets"?
  • OK, j'ai ajouté plus de détails à mon post original.
  • Votre exemple semble être une adresse IP/préfixe de longueur. Je n'ai toujours aucune idée de ce que vous entendez par "NetworkBytes" parce que si c'est censé dire la même chose que "la longueur du préfixe" puis NetworkBytes est un TRÈS drôle de nom pour appeler ça... de toute façon, si tu veux l'adresse IP/longueur de préfixe, alors, voulez-vous dire que l'adresse IP et la longueur de préfixe attribué à l'une des interfaces locales sur la machine, le script est en cours d'exécution sur?
  • Oui, c'est exactement ce que je veux dire.