首页 新闻 搜索 专区 学院

想用c#写一个监视80端口的小应用程序?求思路

0
悬赏园豆:50 [已关闭问题] 关闭于 2012-02-11 11:21

最近在学ASP.NET,当我用浏览器去访问一个服务器的时候,会有http头信息,我想获取到....
(不要说:网络上有这样的工具)
具体怎么做呢?
思路是怎样?
获取http头信息主要包括哪些步骤?

< >
分享
所有回答(5)
0

很简单的。你仔细看看相关类的文档好了。HttpWebResponse.Headers

ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-06 09:29

大哥!能专业一点不??详细点!!thanks

支持(0) 反对(0) MR_xiaodan | 园豆:142 (初学一级) | 2012-02-06 09:35

@MR_xiaodan: 不好意思,弄错了。你是想写一个80端口的代理服务器吧,要不然怎么检测得到呢。还有一个可能是在你的浏览器上安装一个BHO, 有可能截获到你自己发送Http协议数据。

支持(0) 反对(0) ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-06 09:46

@ChatinCode: 我就做一个小程序,让他一直监视80端口,然后我是客服端,去访问其他的web服务器,然后获取http请求头信息,和http响应信息即可!!!
        

支持(0) 反对(0) MR_xiaodan | 园豆:142 (初学一级) | 2012-02-06 10:00
0

简单的解决方案如下:

1. 在程序中启动一个新的进程,该进程的执行文件为:CMD.EXE

2. 给该进程传递一个命令行参数:netstat -ano

3. 获取该命令所返回的结果,并对其进行分析,找出端口为80的进程ID(PID)

4. 根据PID找出该进程,可以对该进程进行任意的处理

代码:

staticvoid Main(string[] args) {
    Process pro
=new Process();

   
// 设置命令行、参数
    pro.StartInfo.FileName ="cmd.exe";
    pro.StartInfo.UseShellExecute
=false;
    pro.StartInfo.RedirectStandardInput
=true;
pro.StartInfo.RedirectStandardOutput
=true;
    pro.StartInfo.RedirectStandardError
=true;
    pro.StartInfo.CreateNoWindow
=true;
   
// 启动CMD
    pro.Start();
   
// 运行端口检查命令
    pro.StandardInput.WriteLine("netstat -ano");
    pro.StandardInput.WriteLine(
"exit");

   
// 获取结果
    Regex reg =new Regex("\\s+", RegexOptions.Compiled);
   
string line =null;
   
while ((line = pro.StandardOutput.ReadLine()) !=null) {
        line
= line.Trim();
       
if (line.StartsWith("TCP", StringComparison.OrdinalIgnoreCase)) {
            line
= reg.Replace(line, ",");

           
string[] arr = line.Split(',');
           
if (arr[1].EndsWith(":80")) {
                Console.WriteLine(
"80端口的进程ID:{0}", arr[4]);

               
int pid = Int32.Parse(arr[4]);
                Process pro80
= Process.GetProcessById(pid);
               
// 处理该进程

               
break;
            }
        }
    }

    pro.Close();
}

Amain | 园豆:205 (菜鸟二级) | 2012-02-06 09:57
0

fiddler2 .net 开源  原理是代理

喵喵喵猫 | 园豆:1742 (小虾三级) | 2012-02-06 11:22
0

看题目和问题貌似你理解错了~~

web服务器是80端口的,但是浏览器不一定是80端口。

你访问网页的时候是你本地计算机的xxxx端口访问服务器的80端口。

要写工具的话应该用pcap库,监听所有通过网卡的http请求。

一羽赐命 | 园豆:11 (初学一级) | 2014-02-25 15:40
0

哈哈 正没有思路看到这个 啦~

钢的锅 | 园豆:14 (初学一级) | 2014-05-20 12:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册