草庐IT

Networking

全部标签

Black Hat Python 书中的 Python 嗅探

importsocketimportosimportstructimportsysfromctypesimport*#hosttolistenonhost=sys.argv[1]classIP(Structure):_fields_=[("ihl",c_ubyte,4),("version",c_ubyte,4),("tos",c_ubyte),("len",c_ushort),("id",c_ushort),("offset",c_ushort),("ttl",c_ubyte),("protocol_num",c_ubyte),("sum",c_ushort),("src",c_ul

linux - UDP IP 分段和 MTU

我试图了解我在发送UDP数据包的上下文中看到的一些行为。我有两个小的Java程序:一个传输UDP数据包,另一个接收它们。我在通过单个交换机连接的两台计算机之间的网络上本地运行它们。两个网络适配器上的MTU设置(由/sbin/ifconfig报告)都是1500。如果我发送大小小于1500的数据包,我会收到它们。预期。如果我发送1500如果我发送大小大于24258的数据包,它们就会丢失。未预期。当我在接收端运行wireshark时,我没有看到任何这些数据包。我能够通过ping-s看到类似的行为。ping-s24258hostA有效但是ping-s24259hostA失败。有没有人知道可能发

linux - UDP IP 分段和 MTU

我试图了解我在发送UDP数据包的上下文中看到的一些行为。我有两个小的Java程序:一个传输UDP数据包,另一个接收它们。我在通过单个交换机连接的两台计算机之间的网络上本地运行它们。两个网络适配器上的MTU设置(由/sbin/ifconfig报告)都是1500。如果我发送大小小于1500的数据包,我会收到它们。预期。如果我发送1500如果我发送大小大于24258的数据包,它们就会丢失。未预期。当我在接收端运行wireshark时,我没有看到任何这些数据包。我能够通过ping-s看到类似的行为。ping-s24258hostA有效但是ping-s24259hostA失败。有没有人知道可能发

linux - 使用Linux,如何指定在哪个以太网接口(interface)上传输数据

我在一个基于Linux的服务器系统上工作,其中有两个网络接口(interface),都在同一个子网上(现在,我们只说它们是172.17.32.10和172.17.32.11)。当我向网络上的主机发送数据时,我想指定在我的服务器上传输数据的接口(interface)。我需要能够在软件中从一个接口(interface)切换到另一个接口(interface)(或者甚至可能在两个接口(interface)上传输)(静态路由规则不适用于此应用程序)。我在StackOverflow中发现了一个相关问题,建议使用netlink库动态修改路由。这在直觉上似乎应该可行,但我想知道是否还有其他选择可以实现

linux - 使用Linux,如何指定在哪个以太网接口(interface)上传输数据

我在一个基于Linux的服务器系统上工作,其中有两个网络接口(interface),都在同一个子网上(现在,我们只说它们是172.17.32.10和172.17.32.11)。当我向网络上的主机发送数据时,我想指定在我的服务器上传输数据的接口(interface)。我需要能够在软件中从一个接口(interface)切换到另一个接口(interface)(或者甚至可能在两个接口(interface)上传输)(静态路由规则不适用于此应用程序)。我在StackOverflow中发现了一个相关问题,建议使用netlink库动态修改路由。这在直觉上似乎应该可行,但我想知道是否还有其他选择可以实现

c - 在 Linux 上获取有关网络接口(interface)更改的通知

我需要一种在启用或禁用网络接口(interface)时通知我的用户空间应用程序的方法。我希望在不诉诸投票的情况下做到这一点。当网络相关事件发生时,内核是否提供某种钩子(Hook)来触发回调函数? 最佳答案 我相信netlink(man7netlink)工具通过NETLINK_ROUTE系列(man7rtnetlink)提供有关网络接口(interface)的信息。您可以在netlink套接字上使用select()或poll()来获取您想要的信息。不过,我不确定这一点;我自己没用过。在更高层次上,如果系统正在运行NetworkMana

c - 在 Linux 上获取有关网络接口(interface)更改的通知

我需要一种在启用或禁用网络接口(interface)时通知我的用户空间应用程序的方法。我希望在不诉诸投票的情况下做到这一点。当网络相关事件发生时,内核是否提供某种钩子(Hook)来触发回调函数? 最佳答案 我相信netlink(man7netlink)工具通过NETLINK_ROUTE系列(man7rtnetlink)提供有关网络接口(interface)的信息。您可以在netlink套接字上使用select()或poll()来获取您想要的信息。不过,我不确定这一点;我自己没用过。在更高层次上,如果系统正在运行NetworkMana

linux - 有人知道什么是 gvfsd-http 吗?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestiongvfsd-http存在于Fedora、Ubuntu和其他几个发行版中。有人知道这个过程是做什么用的吗?除了“gnome虚拟文件系统”之外,网上没有其他信息。它有什么用?如果不是强制性的,如何摆脱它?有时我会看到这样的连接:tcp10192.168.1.3:4522950.17.249.143:80CLOSE_WAIT5463/gvfsd-http如您所见,进程是gvfsd-http。IP地址

linux - 有人知道什么是 gvfsd-http 吗?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestiongvfsd-http存在于Fedora、Ubuntu和其他几个发行版中。有人知道这个过程是做什么用的吗?除了“gnome虚拟文件系统”之外,网上没有其他信息。它有什么用?如果不是强制性的,如何摆脱它?有时我会看到这样的连接:tcp10192.168.1.3:4522950.17.249.143:80CLOSE_WAIT5463/gvfsd-http如您所见,进程是gvfsd-http。IP地址

linux - 如何在传出流量上设置 Evil Bit

因此,对于我正在编写的与安全相关的应用程序,我实际上想使用RFC3514(“TheEvilBit”)来确定网络中的哪些流量集在每个数据包级别上是恶意的或不是恶意的。这用作辅助机器学习引擎的训练数据,因此应用程序必须事先知道哪些数据包是恶意的,哪些不是。这应该相当简单,只需设置一个IP层位即可。我已经尝试使用iptables或libpcap来实现这一点,但要么它们没有该功能,要么我没能发现它。如果能够为机器的所有流量设置它会很好,但对输出的内容进行过滤会更好。(比如能够指定设置哪些更高层协议(protocol)等...)我也在使用Ubuntu。所以首选Linux解决方案。但除此之外,使用