This is simple graph theory. We just enumerate all paths over nodes/vertices, using networkx Python library.
And there are 140240 paths. Way too many to enumerate manually, of course.
#!/usr/bin/env python3
# you may need to run: pip3 install networkx
import networkx as nx
G = nx.Graph()
"""
1 2 3
4 5 6
7 8 9
lines like these are also counted:
* . .
. . *
. * .
"""
# start vertex and a list of neighbour vertices
edges={1: [2, 4, 5, 6, 8],
2: [1, 3, 4, 5, 6, 7, 9],
3: [2, 5, 6, 4, 8],
4: [1, 2, 5, 7, 8, 3, 9],
5: [1, 2, 3, 4, 6, 7, 8, 9],
6: [2, 3, 5, 8, 9, 1, 7],
7: [4, 5, 8, 2, 6],
8: [4, 5, 6, 7, 9, 1, 3],
9: [5, 6, 8, 4, 2]}
for x in range(1, 9+1):
for y in edges[x]:
G.add_edge(x, y)
for start in range(1, 9+1):
for stop in range(1, 9+1):
if start==stop:
continue
for x in nx.all_simple_paths(G, start, stop):
print (x)
[1, 2] [1, 4, 2] [1, 4, 5, 2] [1, 4, 5, 3, 2] [1, 4, 5, 3, 6, 2] [1, 4, 5, 3, 6, 8, 7, 2] [1, 4, 5, 3, 6, 8, 9, 2] [1, 4, 5, 3, 6, 9, 8, 7, 2] [1, 4, 5, 3, 6, 9, 2] [1, 4, 5, 3, 6, 7, 8, 9, 2] ... [9, 2, 7, 6, 1, 4, 5, 8] [9, 2, 7, 6, 1, 4, 8] [9, 2, 7, 6, 1, 4, 3, 5, 8] [9, 2, 7, 6, 1, 4, 3, 8] [9, 2, 7, 6, 1, 5, 3, 4, 8] [9, 2, 7, 6, 1, 5, 3, 8] [9, 2, 7, 6, 1, 5, 4, 8] [9, 2, 7, 6, 1, 5, 4, 3, 8] [9, 2, 7, 6, 1, 5, 8] [9, 2, 7, 6, 1, 8]
Thanks to @mztropics who once pointed to a bug.

Yes, I know about these lousy Disqus ads. Please use adblocker. I would consider to subscribe to 'pro' version of Disqus if the signal/noise ratio in comments would be good enough.