网络有多不安全?

时间:2009-10-17 16:27:34

标签: tcp security

我刚开始编写套接字程序。了解到单个UDP数据包有源端口目标端口和一些代表路由器的MAC地址。等等。我想知道为什么有人不能创建带有虚假信息的自定义数据包并通过互联网发送。我想知道我们的电脑有多安全。应该采取什么措施来保护它?

5 个答案:

答案 0 :(得分:5)

答案有几个不同的方面。

一个是网络依赖于TCP,而不是UDP。这意味着它是面向连接的。您的包将被拒绝,除非它似乎是现有连接的一部分(这意味着,除其他外,它必须具有正确的源IP和端口。并且它必须具有适合的序列号以适应接收窗口)。当然,这仍然可以在没有太多麻烦的情况下伪造。但它确实需要您了解原始连接上发送的数据包。

另一部分是,每当我们需要确定数据包的发件人是他们声称的人时,我们就会使用加密。 :)

大多数数据包并不真正需要这个。如果有人向Google发送出现来自我的IP的请求,那就没什么大不了的。但在进行信用卡交易时,它变得更加重要。

答案 1 :(得分:3)

正如我曾经说过的那样,大多数TCP / IP堆栈都“泄密” - 并且作为软件开发人员(假设您正在寻找编程解决方案,否则,堆栈溢出是错误的论坛,去服务器故障或超级用户;-)可以做到这一点 - 除了选择和仔细实施的安全期望合理的协议。

HTTPS(强大的证书检查等)是一种相当强大的方法;为了更强的安全性,请研究基于SSH和VPN的方法。当然,没有人应该假设隐私或强认证已经到位,除非他们采取了特定的步骤(如果他们采取了这些步骤,他们可能仍然受到成功的攻击,这就是为什么使用现有的,或多或少“证明“建议使用HTTPS,SSH,VPN等解决方案; - 。”。

答案 2 :(得分:1)

是的,任何人都可以使用他们想要的任何数据创建数据包并通过互联网发送出去。特别是使用UDP,您可以伪装成您想要的任何人(除非您的ISP执行出口过滤)。 UDP 的源地址不能受信任。 TCP的源地址可以在一定程度上(您知道数据必须来自有问题的IP地址,或路由中的某个人)。

欢迎来到互联网:)

编辑:只是为了澄清出口过滤是发送 ISP必须要做的事情。作为接收者,如果不与发送方进行通信,则无法验证UDP数据包上的地址。您至少可以部分信任传入TCP连接的唯一原因是TCP要求某些控制数据流回发送方(因此需要有效的IP地址/端口来设置连接并维护它)。

答案 3 :(得分:1)

好吧,很多人创建无效数据包并通过互联网发送;例如,阅读Ping of death

[完全]安全的计算机是关闭的计算机。为了使您的运行PC更安全,您应该依赖防火墙软件/硬件,它可以检测到格式错误的数据包。

答案 4 :(得分:1)

可以轻松创建包含虚假信息的自定义数据包。因此,你必须确保你不容易受到它们的攻击。<​​/ p>