getting back negative results in loop

后端 未结 2 1882
不知归路
不知归路 2021-01-24 04:06

I\'m having trouble pinpointing the exact problem in my code. I have two functions- inrange(), which checks to see if a port is in range, and filt(), w

2条回答
  •  猫巷女王i
    2021-01-24 04:35

    You correctly look for the string sshd line wise, but search the strings TCP and UDP in the whole file. As there is one line with UDP and 123, every call to inrange(file, "UDP", int(my_string)): will return true even if there is a TCP in current line.

    You should extract the proto from the current line. Something like

        proto = newline[:3]
        if (proto in ['UDP', 'TCP']) and inrange(file, proto, int(my_string)):
            print("Line " + str(plusOne) + " is in range" + " " + my_string)    
        else:
            print("Not in range")
    

提交回复
热议问题