tcp监听另一个程序如何做呢


tcp监听另一个程序怎么做呢
就是得到tcp传过来的内容又不占用到端口,好像挺矛盾的


就是sniffe

哪个高手有做过指教一下。。谢谢了

C#语言 .net 程序开发

爆炸小卷子 10 years, 10 months ago


sniffer就是这样啊,它不会占用端口的.仅仅监听

xvzan answered 10 years, 10 months ago


既然要监听,应该需要占用端口,要不然监听什么?

为了看注册问题 answered 10 years, 10 months ago


关注

brenden answered 10 years, 10 months ago


WinPCap 应该可以的,很多抓包程序都是这个

十二月的风 answered 10 years, 10 months ago


Winpcap是做了一个网络驱动进行截包

但丁的红风衣 answered 10 years, 10 months ago


關注中......

SunnY耀 answered 10 years, 10 months ago


谁说不占用端口啊,首先你要开个端口,在bind之后才能sniffer

受受天然呆 answered 10 years, 10 months ago


WinPCap + Sniffer实现,看看WinPCap的文档。C#和C++、VB都可以调用。

原理不懂,可能是虚拟网卡

RyoYL answered 10 years, 10 months ago


winsock2最明显的就是支持了raw socket套接字类型,使用raw socket,可把网卡设置成混杂模式,在这种模式下,我们可以收到网络上的ip包,当然包括目的不是本机的ip包,通过原始套接字,我们也可以更加自如地控制windows下的多种协议,而且能够对网络底层的传输机制进行控制。

在本文例子中,我在nbyte.basicclass命名空间实现了rawsocket类,它包含了我们实现数据包监视的核心技术。在实现这个类之前,需要先写一个ip头结构,来暂时存放一些有关网络封包的信息:


[structlayout(layoutkind.explicit)]
public struct ipheader
{
[fieldoffset(0)] public byte ipverlen; //i4位首部长度+4位ip版本号
[fieldoffset(1)] public byte ip
tos; //8位服务类型tos
[fieldoffset(2)] public ushort iptotallength; //16位数据包总长度(字节)
[fieldoffset(4)] public ushort ip
id; //16位标识
[fieldoffset(6)] public ushort ipoffset; //3位标志位
[fieldoffset(8)] public byte ip
ttl; //8位生存时间 ttl
[fieldoffset(9)] public byte ipprotocol; //8位协议(tcp, udp, icmp, etc.)
[fieldoffset(10)] public ushort ip
checksum; //16位ip首部校验和
[fieldoffset(12)] public uint ip_srcaddr; //32位源ip地址

kyiku answered 10 years, 10 months ago


如果 是 2000
可以 直接 将 网卡 设 为 混乱(乱摸) 模式

奥妮克希亚 answered 10 years, 10 months ago


防火墙?

肉汤培养基 answered 10 years, 10 months ago


我原来在网上见过一个delphi的程序可以做到
开源的

恶魔OWO answered 10 years, 10 months ago


不知道具体什么样子
用udp直接取呗,


Jastin answered 10 years, 10 months ago

Your Answer