わかりましたので、基本的には基本的なポートスキャナーを試して構築することにしました。ここに私のコードがあります:
(この上にもっとありますが、ここに貼り付けるには多すぎると感じました)
##Print port menu
print "-"*60
print "Specify ports"
print "-"*60
print """
1)Use default list
2)Specify your own port list\n"""
print"-"*60
menu2=raw_input("Please choose an option\n")
##Define default port list
default_list="21, 22,23, 24, 25, 80, 110, 135, 139, 443, 445, 553, 3306, 3389, 8080"
##Set port list to default if option "1" is chosen
if menu2 == "1":
port_list='default_list'
##Request user port list if option "2" is chosen
if menu2 == "2":
port_list=raw_input("Please enter the ports you would like scanned.\neg. 22, 23\n")
print "Ok, here we go"
for i in str(port_list):
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
results = connection.connect_ex(ip + i)
私には問題ないように見えますが、実行すると「AF_INETアドレスはstrではなくタプルでなければなりません」というエラーが表示されます。どの部分が問題なのかわかりませんか? エラーをスローするのは私のデフォルトのポート文字列ですか?それとも私のIPアドレスのフォーマットに問題がありますか?? デバイスの IP アドレスをいくつか試してみましたが、常に同じエラーが発生します。