作者 主題: [問題]請問如何在網頁中取得特定的值呢  (閱讀 4168 次)

0 會員 與 1 訪客 正在閱讀本文。

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
請問:
如何例用lynx和grep取出網頁中的特定值呢?
lynx -dump http://ipid.shat.net/ | grep -A1 "IP address" | tail -1
小弟想取出nat主機上的wan ip
用了這個方法可是取出來的值是isp的proxy IP
不曉得各位有沒有什麼其它的方法來做呢?

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #1 於: 2003-07-18 04:48 »
幫您推一下...

小弟有 "聽說" 過上網瀏覽時 , 網頁上竟然能知道來者是使用虛擬 ip
不知道那個同學有沒有騙我... 若是真的 , 小弟也想知道方法

另外 , 如果您 nat server 上能跑 cgi 的話 , 提供一個書上的簡單網頁
代碼: [選擇]
#!/usr/bin/perl

print "Content-type: text/plain\n\n";

foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${$var}=\"${val}\"\n";
}


還有一個有點好玩的... 看 apache 帳號在系統中的環境變數...
用 c++ -o xx xx.c ... 先編譯 xx.c 文件
代碼: [選擇]
#include <stdlib.h>
main(int argc, char *argv[])
{
        for (int i=0 ; i<50 ; i++){
        cout<<argv[i]<<endl;
        }
}

chmod 555 ./xx
其實想要的資訊 , 只要旁邊放個 shell script , 權限許可下 , 什麼都要得到...
旁邊放個 php 檔
代碼: [選擇]
<?php
echo '<textarea rows="30" name="S1" cols="80">';
system &#40;"./xx"&#41;;
echo '</textarea>';
?>

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #2 於: 2003-07-18 06:38 »
謝謝您囉~我己經找到方法了
cc
您好像對程式設計滿有研究滴
可否提供幾個地方可以找到
一些範例呢?
另外在網頁上抓出虛擬ip是可行的
以前試過,不過太久了忘記在那找到的

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #3 於: 2003-07-18 09:05 »
引述: "James Wu"
您好像對程式設計滿有研究滴
可否提供幾個地方可以找到
一些範例呢?

剛剛上來看到這幾行字 , 心虛的急忙下線...

小弟最熟悉的應該是 shell script
書是沒有 , 都從 netman 網大那兒學來的...
但目前實力恐怕還不及網大的十分之一...

而 php ... 上次看了 abelyang 學長的討論
早就嚇出一身冷汗了...

c++ 呀... 看上篇中... 小弟還處於 "學習玩 c++" 的階段捏...

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #4 於: 2003-07-18 11:51 »
引述: "James Wu"
謝謝您囉~我己經找到方法了

能方便說一說嗎?

當前問題若懂得 cut, sed, grep, awk 等工具都不難吧?

p.s.
關於 dark 兄對 netman 的恭維,只信一部份就夠了,
因為每人各有所長、各有價值。
比方在 c++ 方面,我連 dark 兄的萬份之一還不到...  ^_^

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #5 於: 2003-07-18 13:04 »
噗~
怎會提到我~~
不過很不幸的~~上面的程式我大概都會  :D
只是程式語言這種東西要先會精一種~其他就好學了

至於抓到 Private IP 的狀況我覺得一定是 Web Server
剛好在 NAT 主機上, 或是以 Raw Socket 寫的偽造封包
不然就是 Routing table 有對 Private IP 做一些處理所致

要抓出假 IP 我覺得如果是以 http Proxy 的話是可以的,
HTTP SERVER 變數中有一個叫 X...開碩的變數就是了,
(REMOTE_ADDR 是 PROXY addr)
但 NAT 環境大概不能, 除非是上一段的狀況


引用
#!/usr/bin/perl

print "Content-type: text/plain\n\n";

foreach $var (sort(keys(%ENV))) {
   $val = $ENV{$var};
   $val =~ s|\n|\\n|g;
   $val =~ s|"|\\"|g;
   print "${$var}=\"${val}\"\n";
}

這一段程式還有很大的利用空間,通常我都是用 ErrorDocument xxx 時
導到一個 CGI, 再根據 REQUEST_URI show 一些對應的 message

引用
#include <stdlib.h>
main(int argc, char *argv[])
{
        for (int i=0 ; i<50 ; i++){
        cout<<argv<<endl;
        }
}


        for (int i=0 ; i<50 ; i++){  改成
        for (int i=0 ; i<argc ; i++){  較完整

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #6 於: 2003-07-19 16:52 »
引述: "netman"
引述: "James Wu"
謝謝您囉~我己經找到方法了

能方便說一說嗎?

當前問題若懂得 cut, sed, grep, awk 等工具都不難吧?

p.s.
關於 dark 兄對 netman 的恭維,只信一部份就夠了,
因為每人各有所長、各有價值。
比方在 c++ 方面,我連 dark 兄的萬份之一還不到...  ^_^

lynx -dump http://www.chainfar.com/ip.php|grep Fowarded|cut -d: -f2
這樣就可以囉,對於這方面小弟實在笨的可以..
上面說的幾個工具我只懂一點有點變化就要想半天了
各位大大可否提供一些工具書呢�書呢
介紹script或c的都好
謝謝

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #7 於: 2003-07-19 16:56 »
嗯... 我都是靠 man+實作 來慢慢學的,方法很笨,不知對你來說是否合用?

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #8 於: 2003-07-19 19:27 »
引述: "James Wu"

lynx -dump http://www.chainfar.com/ip.php|grep Fowarded|cut -d: -f2


小弟的 win98 躲在 nat 後 , 但 Fowarded for: 這行卻是空白...
可否請教一下這行使用的指令為何呢 ?


http://www.study-area.org/linux/system/linux_com.htm
http://www.study-area.org/linux/system/linux_shell.htm
http://www.study-area.org/cyril/scripts/scripts/index.html
以上是 bash shell script 的文章
若要找書 , 小弟只知道有一本 O'REILLY 出的 "bash script"
曾在書店瀏覽過 , 雖有許多技巧可取 , 但回家後還留印象的只有陣列
代碼: [選擇]
#!/bin/sh
x=(a b c d e)
x[3]=ccc
for ((i=0 ; i<5 ; i++));do
echo ${x[$i]}
done
echo ${x[3]}
echo ${x[*]} ### (與 echo ${x[@]} 相同)

剩下的 , 學長們出一些沒看過的招式 , 小弟就記下來...
內部指令就要 man 一下 (這點小弟可慚愧了 , 功力不足 , 英文又差 , 常上來求救)

若一時間找不到指令 ... 如小弟以前尚不知 date +%s 時 , 就用 php
代碼: [選擇]
#!/usr/bin/php -q
<?php
echo time&#40;&#41;;
?>

然後才 x=$(./time.php)
其中 -q 也是後來才知道 , 所以當時還用 grep 105 捏... 還好 php 沒這麼多版

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #9 於: 2003-07-19 20:41 »
引述: "netman"
嗯... 我都是靠 man+實作 來慢慢學的,方法很笨,不知對你來說是否合用?

呵呵..我也是用man可是小弟的英文實在是....
只能大概了解意思實作上都要摸半天才知道真正的方法

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #10 於: 2003-07-19 20:44 »
引述: "dark"
引述: "James Wu"

lynx -dump http://www.chainfar.com/ip.php|grep Fowarded|cut -d: -f2


小弟的 win98 躲在 nat 後 , 但 Fowarded for: 這行卻是空白...
可否請教一下這行使用的指令為何呢 ?


http://www.study-area.org/linux/system/linux_com.htm
http://www.study-area.org/linux/system/linux_shell.htm
http://www.study-area.org/cyril/scripts/scripts/index.html
以上是 bash shell script 的文章
若要找書 , 小弟只知道有一本 O'REILLY 出的 "bash script"
曾在書店瀏覽過 , 雖有許多技巧可取 , 但回家後還留印象的只有陣列
代碼: [選擇]
#!/bin/sh
x=(a b c d e)
x[3]=ccc
for ((i=0 ; i<5 ; i++));do
echo ${x[$i]}
done
echo ${x[3]}
echo ${x[*]} ### (與 echo ${x[@]} 相同)

剩下的 , 學長們出一些沒看過的招式 , 小弟就記下來...
內部指令就要 man 一下 (這點小弟可慚愧了 , 功力不足 , 英文又差 , 常上來求救)

若一時間找不到指令 ... 如小弟以前尚不知 date +%s 時 , 就用 php
代碼: [選擇]
#!/usr/bin/php -q
<?php
echo time&#40;&#41;;
?>

然後才 x=$(./time.php)
其中 -q 也是後來才知道 , 所以當時還用 grep 105 捏... 還好 php 沒這麼多版

那行是利用linux的文字瀏覽器show出值來
再利用grep及cut篩選出需要的字串98能不能用我就不知道了
感謝各位的回應及提供意見^^

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #11 於: 2003-07-19 21:04 »
小弟是想請教 抓出虛擬 ip 網頁的原始碼 , 不知是是使用 php 的哪個指令呢 ?

因為以前想知道而找過... 都沒找到 ^^''

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #12 於: 2003-07-19 22:58 »
引述: "James Wu"
呵呵..我也是用man可是小弟的英文實在是....
只能大概了解意思實作上都要摸半天才知道真正的方法


嗯,的確,看 man 是免不了英文的... (這是一定要的啦~~)

關於字串過濾, Regular Expression 最好要了解一下。
鳥哥這邊有說明:
http://linux.vbird.org/linux_basic/0330regularex.php#basic_regexp
更建議看一看龍門少尉的"正規表示式的入門與應用"系列:
http://main.rtfiber.com.tw/~changyj/

同時,要是將如下這堆命令搞懂,那更是得心應手...
 sort
 wc
 nl
 fmt / pr
 cat / tac
 more / less
 head / tail
 od
 expand
 tr
 col
 join / paste
 split
 cut
 grep
 sed
 awk
 bc

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #13 於: 2003-07-19 23:54 »
引述: "dark"
小弟是想請教 抓出虛擬 ip 網頁的原始碼 , 不知是是使用 php 的哪個指令呢 ?

因為以前想知道而找過... 都沒找到 ^^''

對不起,對於所有的程式我只有一知半解而已
我最多只能做到看到相關的範例
去做一些修改達到需求..
等我稍微用功過之後再看看有沒有找到答案

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[問題]請問如何在網頁中取得特定的值呢
« 回覆 #14 於: 2003-07-19 23:55 »
引述: "netman"

嗯,的確,看 man 是免不了英文的... (這是一定要的啦~~)

關於字串過濾, Regular Expression 最好要了解一下。
鳥哥這邊有說明:
http://linux.vbird.org/linux_basic/0330regularex.php#basic_regexp
更建議看一看龍門少尉的"正規表示式的入門與應用"系列:
http://main.rtfiber.com.tw/~changyj/

同時,要是將如下這堆命令搞懂,那更是得心應手...
 sort
 wc
 nl
 fmt / pr
 cat / tac
 more / less
 head / tail
 od
 expand
 tr
 col
 join / paste
 split
 cut
 grep
 sed
 awk
 bc

謝謝指導,我會好好用功滴