<｜begin▁of▁sentence｜>### Instruction:
As a cryptographer, you've been tasked with developing a secure communication protocol for a network. This network is mapped as an undirected graph with an edge set that includes the following pairs: [(1, 2), (2, 3), (3, 1), (3, 4)]. Each of these pairs represents a connected set of nodes. Your task is to analyse this graph and determine the node connectivity for all pairs of nodes. For the purposes of this project, you've chosen to use the NetworkX platform to accomplish this. 

Taking into consideration that node connectivity could be crucial for maintaining integrity and security of the encrypted messages travelling through the network, how would you compute the node connectivity for all pairs of nodes given the edge set of the graph mentioned above using NetworkX?
### Response:
import networkx as nx

# Create an undirected graph
G = nx.Graph()
G.add_edges_from([(1, 2), (2, 3), (3, 1), (3, 4)])

# Compute node connectivity for all pairs of nodes
all_pairs_connectivity = nx.all_pairs_node_connectivity(G)

# Print node connectivity for each pair
for pair in all_pairs_connectivity:
    print(f'Node connectivity between {pair[0]} and {pair[1]}: {all_pairs_connectivity[pair]}')
<|EOT|>
