ポート番号を探す

/etc/serviceから探すっぽいけど、windowsの場合どうなるのかな?

s.getsockname()の所でポートが色々変わる。適当に空いてるポートを使ってクライアントは通信するかららしい。

import socket
s = socket()
port = socket.getservbyname('http','tcp')
s.connect(('www.hogehoge.com',port))

# ついでに
s.connect(('www.google.com', 80))
s.getsockname()
# クライアントのIP、使用ポートのタプル
#('192.168.0.xxx', 48108)
s.getpeername()
# 接続先のIP、使用ポートのタプル
#('66.249.89.104', 80)