5.5 KiB
5.5 KiB
In [ ]:
print("Hello, Cyber World!")
ip_address = "198.51.100.14"
port_number = 443
failed_logins = 7
response_time = 0.125
is_admin = False
print(f"IP: {ip_address} | Port: {port_number}")
print(type(ip_address), type(port_number), type(response_time), type(is_admin))
In [ ]:
log_message = " FAILED login for Admin from 198.51.100.14 "
url = "https://example.com/login"
print(log_message.strip())
print(log_message.lower())
print(log_message.replace("FAILED", "DENIED"))
print(url[0:5])
In [ ]:
raw_username = " AdMin "
# TODO 1: remove surrounding whitespace and convert the username to lowercase
normalized_username = None
url = "https://example.com/login"
# TODO 2: use slicing to extract the string "https"
protocol = None
print(normalized_username)
print(protocol)
In [ ]:
port_text = "8080"
# TODO 3: cast port_text to int
port_number = None
# TODO 4: calculate the next port number
next_port = None
login_attempts = 7
user_ip = "198.51.100.14"
# TODO 5: flag as suspicious when attempts > 5 AND the IP is not localhost
is_suspicious = None
print(f"Next port: {next_port}")
print(f"Suspicious: {is_suspicious}")
In [ ]:
failed_logins = 7
is_admin = False
is_off_hours = True
# Rule: each failure adds 10 points, admin adds 25, and off-hours adds 15
# TODO 6: calculate risk_score and require review at 60 points or higher
risk_score = None
requires_review = None
print(f"Risk score: {risk_score}")
print(f"Requires review: {requires_review}")
In [ ]:
assert normalized_username == "admin"
assert protocol == "https"
assert next_port == 8081
assert is_suspicious is True
assert risk_score == 85
assert requires_review is True
print("✓ Lab 1 completed")