2016年3月15日 星期二

ASP.NET 使用資料庫動態產生功能表(Menu)

網頁內容如下:

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="css/jquery.mcdropdown.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <style type="text/css">
        .menu
        {
            width: 913px;
            font-family: verdana, Segoe UI;
            margin: 0 auto;
            border: 1px solid #B34C00;
            border-radius: 4px;
        }
        .menu ul
        {
            padding: 10px;
            background-color: #FF6600;
            float: left;
            margin: 0px;
            list-style: none;
        }
        .menu ul li        {
            display
inline-block;
            float: left;
            position: relative;
            cursor: pointer;
        }
        .menu ul li a        {
            cursor:
ointer;
            display: block;
            padding: 10px;
            float: left;
            color: #fff;
            text-decoration: none;
        }
        .menu ul li ul
        {
            display: none;
            margin-top: 10px;
        }
        .menu ul li:hover ul
        {
            display: block;
            width: 200px;
            position: absolute;
            left: 0px;
            top: 25px;
            background: #FF6600;
            border: 1px solid #B34C00;
            border-top: none;
            color: #fff;
        }
        .menu ul li:hover ul li
        {
            padding: 5px;
            float: none;
            display: block;
        }
        .menu ul li:hover ul li a
        {
            padding: 5px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div class="menu">
        <asp:Panel ID="Panel1" runat="server" Width="913px" Style="margin: 0px">
        </asp:Panel>
    </div>
    </form>
    <p>
    </p>
</body>
</html>

程式內容如下:


Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Data.SqlClient
Imports System.Data

Public Partial Class _Default
    Inherits System.Web.UI.Page
    Private con As New SqlConnection("Data Source=(local);Initial Catalog=master;uid=sa; pwd=Micr0s0ft")
    Protected Sub Page_Load(sender As Object, e As EventArgs)
        Dim da As New SqlDataAdapter("Select TechnologyID, TechnologyName, TechnologyURL from Technology", con)
        Dim dttc As New DataTable()
        da.Fill(dttc)
        Dim main As HtmlGenericControl = UList("Menuid", "menu")
        For Each row As DataRow In dttc.Rows
            da = New SqlDataAdapter("select TechnologyCategoryID,TechnologyCategoryName,TechnologyCategoryURL from TechnologyCategory where TechnologyID=" + row("TechnologyID").ToString(), con)
            Dim dtDist As New DataTable()
            da.Fill(dtDist)
            If dtDist.Rows.Count > 0 Then
                Dim sub_menu As HtmlGenericControl = LIList(row("TechnologyName").ToString(), row("TechnologyID").ToString(), row("TechnologyURL").ToString())
                Dim ul As New HtmlGenericControl("ul")
                For Each r As DataRow In dtDist.Rows
                    ul.Controls.Add(LIList(r("TechnologyCategoryName").ToString(), r("TechnologyCategoryID").ToString(), r("TechnologyCategoryURL").ToString()))
                Next
                sub_menu.Controls.Add(ul)
                main.Controls.Add(sub_menu)
            Else
                main.Controls.Add(LIList(row("TechnologyName").ToString(), row("TechnologyID").ToString(), row("TechnologyURL").ToString()))
            End If
        Next
        Panel1.Controls.Add(main)
    End Sub
    Private Function UList(id As String, cssClass As String) As HtmlGenericControl
        Dim ul As New HtmlGenericControl("ul")
        ul.ID = id
        ul.Attributes.Add("class", cssClass)
        Return ul
    End Function
    Private Function LIList(innerHtml As String, rel As String, url As String) As HtmlGenericControl
        Dim li As New HtmlGenericControl("li")
        li.Attributes.Add("rel", rel)
        li.InnerHtml = (Convert.ToString("<a href=" + String.Format("
http://{0}", url) + ">") & innerHtml) + "</a>"
        Return li
    End Function
End Class

nginx ddos攻擊測試Enter a post title

nginx ddos攻擊測試

Posted on 2014 年 05 月 17 日, 05:06:15 By Tony

使用的軟體是Http attack version 3.6 設定如圖

image

image

nginx.config的設定

image

修改網站預設的設定檔default如下

image

限制每個ip超過20個連線數,然後顯示503的錯誤畫面 測試壓測的情況查詢大約19xx連線

連線數

測試情況大量連線的ip會出現503的頁面,但另一個ip連線仍然是正常的

image

主要用到的是Nginx中提供的兩個limit模組:

ngx_http_limit_conn_module  

ngx_http_limit_req_module

一、白名單

首先這兩個模組是支援白名單的,就是可能有某些IP位址,我們是不需要進行限制的,比如可能會是搜尋引擎啦什麼的或者自己的IP,因此需要設置一個白名單,不需要的可跳過本步。具體方法:

在HTTP段中插入如下格式內容,聲明白名單IP

http{

.......

geo $limited{

default 1;

#公司    

119.123.5.0/24 0;

}

.........

}

geo指令定義了一個白名單$limited變數,預設值為1,如果用戶端IP在上面的範圍內,$limited的值為0。

然後緊跟在上面內容後使用map指令映射搜尋引擎用戶端的ip為空串,如果不是白名單IP就顯示本身真實的IP,這樣搜尋引擎iIP就不能存到limit模組的記憶體session中,所以不會限制白名單的IP訪問。

map $limited $limit {

1 $binary_remote_addr;

0 "";

}

二、訪問頻率限制

訪問頻率限制使用到的是ngx_http_limit_req_module,需要在兩個地方配置,首先在HTTP段中,聲明好這個模組一些參數,如果有設置白名單,設置如下

http{

...

limit_req_zone $limit zone=one:10m rate=20r/m; ##平均20r/m 每分鐘20個請求    

...

}

如果沒有配置白名單,所有來訪IP都會限制,配置如下

http{

...

limit_req_zone $binary_remote_addr zone=one:10m rate=20r/m; ##平均20r/m 每分鐘20個請求  

...

}

解釋一下上面的參數,第一個代表的是需要限制的ip群,這個很好理解,第二個zone=one表示這個limit_zone的名字叫做one,後面的使用中可以用這個one來進行指代,後面的15m,代表為這個zone分配10m的記憶體,1m可以保存16000的$binary_remote_addr。最後一個是頻率,如果要按秒來算可以設置20r/s這樣。

最後是配置到Nginx的php的解析段

location ~ \.php$ {

...

limit_req zone=one burst=5 nodelay;

...

}

指定了使用名字為one的zone,然後緩衝佇列為5,無延遲,如果不設置無延遲,訪問會卡住。

三、訪問連接限制

訪問連接限制使用到的是ngx_http_limit_conn_module,也是需要在兩個地方配置,首先在HTTP段中,聲明好這個模組一些參數,如果有設置白名單,設置如下

http{

...

limit_conn_zone $limit zone=addr:10m;

...

}

如果沒有配置白名單,所有來訪IP都會限制,配置如下

view sourceprint?http{

...

limit_conn_zone $binary_remote_addr zone=addr:10m;

...

}

參數的意思跟上面的差不多也就不多解釋了。後面的就是在server段中進行設置了,可以具體到某個目錄什麼的了

server {

location /download/ {

limit_conn addr 5;

}

大功告成,打完收工,記得要nginx -s reload一下

原文:http://netsecurity.51cto.com/art/201306/400210.htm

用TfGen 產生流量測試你的頻寬

用TfGen 產生流量測試你的頻寬

Posted on 2014 年 05 月 17 日, 05:22:29 By Tony

tfgen是一款優秀的網路設備,線路或者伺服器最大流量的壓力測試軟體
測試交換機或線路的方法:::
1.線路兩端或交換機上的兩台PC之間配同一個子網的ip位址(路由器的話你應該知道如何把網路設通)
2.兩台交換機關閉防火牆,並允許ping
3.兩台pc都打開tfGen, 設置目標位址以及流量大小, 互相發包
4.兩台pc都裝上類似DuMeter的軟體觀測即時流量
5.兩台pc之間再互相ping, 看延時和丟包率
就可以完美的檢查線路或交換機最大頻寬或者檢查線路的健康程度.

image

下載檔案:http://hack.twgg.org/phpbb/viewtopic.php?f=44&t=661&sid=421c89c4d25d4592435ad0faf7802163

2016年3月14日 星期一

網路壓力測試工具Iperf(轉自-江湖一片葉)

IT學習筆記~包含了網路、資安、系統等的心得與筆記~

2009年12月29日 星期二

網路壓力測試工具Iperf

最近公司代理了Firewall產品,產品有VPN與NAT功能,特別是結合在一起時,效能問題倍受疑慮。
還好我們客戶用了一個工具來檢視之後(雖然是震憾教育),但學到很多^^
這個工具就是Iperf,可以在這個地方下載:
http://www.noc.ucf.edu/Tools/Iperf/iperf.exe
有Linux版與Windows版,我們以Windows版本為例,簡單說明使用方式與參數。
使用方式:
這於這個工具是Server Client架構,所以需要在兩台電腦上測試,中間經過什麼東西,
就是想測試效能的設備,比如Firewall,VPN,SSL-VPN,Wireless AP...,所以先找兩台電腦,
一台當Server,一台當Client:
Step.1 下載: 到http://www.noc.ucf.edu/Tools/Iperf/iperf.exe 將程式下載,之後將程式copy到想存放的地方,比如說D:/之下。
Step.2 開啟dos視窗: 執行->cmd
Step.3 執行Server: 從comandline輸入 D:/iperf.exe -s (其它參數)
Step.4 執行Client: 從comandline輸入 D:/iperf.exe -c serverip (其它參數)
參數參考:
Client端/Server端 都可用的參數:
-f, --format [kmKM] 以什麼方式顯示: Kbits, Mbits, KBytes, MBytes
-i, --interval # 每隔多少秒顯更新頻寬資訊
-l, --len #[KM] 設定讀寫的緩衝區長度 (預設 8 KB)
-m, --print_mss 顯示TCP/IP標頭的MTU(最大segment)大小
-o, --output 將report或錯誤訊息輸出到這個檔案裡
-p, --port # 設定server與client的溝通port
-u, --udp 使用UDP代替TCP測試
-w, --window #[KM] TCP的window大小(socket buffer size)
-B, --bind bind某,結合某介面或multicast的位址用
-C, --compatibility 與舊版本比較用,不送任何封包
-M, --mss # 設定TCP最大segment大小 (MTU - 40 bytes)
-N, --nodelay 設定無TCP延遲,取消Nagle's演算法
-V, --IPv6Version 設定為IPv6格式
Server端參數:
-s, --server 執行Server模式
-D, --daemon 執行Server背景模式
-R, --remove 移除服務
Client 端參數:
-b, --bandwidth #[KM] UDP參數,以bits/sec傳送(預設 1 Mbit/sec, implies -u)
-c, --client 執行Client模式,並連線到Server的IP:
-d, --dualtest 同時執行雙向的模擬測試
-n, --num #[KM] 傳輸多少bytes封包 (取代-t)
-r, --tradeoff 單獨執行雙向的模擬測試
-t, --time # 每隔幾秒傳輸一次 (預設10 秒)
-F, --fileinput 選取某檔案傳輸測試
-I, --stdin 將鍵盤輸入的資料進行傳輸測試
-L, --listenport # 進行雙測試時,接收回應的port
-P, --parallel # 同時執行多少個Client連線
-T, --ttl # 進行Multicat的time-to-live(預設為 1)
其它參數:
-h, --help 顯示help 資訊
-v, --version 顯示版本
範例:
1. Server端:

iperf -s -u -i 1 -l 1024 -p 5001

設置Server只接收UDP封包,每隔1秒更新顯示一次,進行讀寫的緩衝區大小為1020k,進行監聽的port為5001
2.Client端:
iperf -c 192.168.4.88 -u -i 1 -l 1024 -p 5001 -t 200 -b 1m

設置Client端,連向ServerIP為192.168.4.88,以UDP傳送,每隔1秒更新顯示一次,進行寫的緩衝區大小為1020k,從5001port丟封包出去,每隔200秒丟一次1M的封包

Ubuntu 系統目錄 (資料夾) 介紹(轉)

2012-12-17

Ubuntu 系統目錄 (資料夾) 介紹

標籤: 檔案 FHS Linux Ubuntu

阿舍玩 Linux 和 Ubuntu 不少年了,但是,始終都沒有好好的去瞭解 Linux / Ubuntu 的各個資料夾的用途,尤其是近來的 Ubuntu 已經不用像以前那樣要自己分割硬碟空間了,所以,阿舍就更加的給它沒有去注意哩 ! 不過,心中還是覺得應該是要好好的瞭解一下,不然,就覺得好像沒有很厲害的樣子哩 ! 呵呵 !

每一個資料夾幾乎都有特定用途


今天想了一下,好吧 ! 就花點時間來看一下吧 ! 應該不是什麼難事,然後,就一邊看一邊把它寫下來,這樣,阿舍以後自己要查的時候,也會方便些哩 ! 以下就是 Ubuntu 的檔案結構,其實,就是各個內建資料夾的用途哩 !
/
這是 Linux / Ubuntu 系統的根目錄,Linux / Ubuntu 系統上的東西就是由這裡開始的。
/bin
這個資料夾存放 Linux / Ubuntu 系統啟動和運行時會使用到的執行檔。
/boot
這個資料夾就是 Linux 核心和 RAM disk Image 存放的地方,同時,也是啟動選單設定檔存放的地方。
/dev
所有 Linux 核心有認識的設備和裝置的資訊都會放在這個資料夾。
/etc
所有會影響到系統運作的設定檔都會放到這個資料夾。
/home
系統上的所有使用者的家目錄都會放在這個資料夾下的資料夾。
/lib
這個資料夾是存放 Linux / Ubuntu 系統會使用到的程式庫及核心模組,使用 Ubuntu 的 64bit 的版本時,還會出現 lib32 和 lib64 二個資料夾。
/lost+found
如果你的 Ubuntu 的檔案系統不幸掛掉了,然後,在回復後,所有無法正確回復的資料就會被放到這個資料夾。
/media
做為像隨身碟或 CD 之類的可移除裝置的掛載點 (Mount Point)。
/mnt
早期的 Linux 版本所使用的可移除裝置的掛載點 (Mount Point),在 Ubuntu 上用來專門做為掛載暫時性的檔案系統用。
/opt
無法透過套件安裝的軟體會將程式安裝在這個資料夾。
/proc
這是一個虛擬的檔案系統,裡面放的是系統正在運行的程序 (Process),Linux 核心透過這個資料夾裡的檔案來傳送訊息給執行中的程序。
/root
這是 root 帳號的家目錄。
/sbin
這個資料夾裡的檔案大多是超級使用者或 root 可以使用的管理用的指令程式。
/tmp
系統、軟體和程式用來存放暫時性檔案的地方。
/usr/bin
不論是 Ubuntu 預載的或是使用者自己安裝的程式和軟體,都會被安裝到這個資料夾,所以,這個資料夾裡的檔案數量通常不會太少哩 !
/usr/lib
這個資料夾是用來存放 /usr/bin 的程式會用到的程式庫。
/usr/local
通常,透過自己編譯和安裝的程式會被放到這個資料夾下哩 !
/usr/share
這個資料夾是用來存放 /usr/bin 的程式的共用資料。
/usr/share/doc
所有軟體的說明文件會放在這裡。
/var
用來存放系統上的動態資料,像是網站、日誌 (Log) 和郵件這類型的資料。
/selinux
這個資料夾是用來存放 SELinux 套件的,不過,預設並沒有安裝,所以,是空的。
/srv
為了相容於 FHS 標準,所以,會需要把像是架網站或 FTP Server 等的網路服務改放到這個資料夾哩 !
/sys
這個資料夾和 /proc 一樣是個虛擬的檔案系統,用途是提供目前系統的各項資訊。
以上是阿舍寫的說明,如果有錯,再請告知一下囉 ! 多謝!^^=
參考資料:
https://wiki.ubuntu.com/SELinux
http://ubuntuforums.org/showthread.php?t=1425726
http://www.ubuntugeek.com/linux-or-ubuntu-directory-structure.html
https://help.ubuntu.com/community/LinuxFilesystemTreeOverview
https://lists.ubuntu.com/archives/ubuntu-users/2009-March/176259.html
https://help.ubuntu.com/12.10/installation-guide/powerpc/directory-tree.html
[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

Read more: http://www.arthurtoday.com/2012/12/ubuntu-file-system-tree-directories.html#ixzz42voxFovn

出國旅行 會這50句英語就夠了

出國旅行英語不好,沒關係,掌握這50句英語常用會話,登機、購物、用餐、坐車、住宿輕鬆搞定!

(本圖擷取自網路)

1.請問1號登機口在哪?

Excuse me, where is boarding gate one?

2.請問航班CZ623(航班號)在哪換登機牌?

Hi, where can I get the boarding pass for flight CZ623?

3.我在何處可取得行李?

Where can I get my baggage/luggage?

4.這些是我私人使用的東西。

These are for personal use.

5.旅遊諮詢中心在那裡?

Where is tourist information?

6.是否可建議一間較為廉價的旅館?

Can you recommend an economical hotel?

7.是否有機場巴士可到市區?

Is there a bus to the city?

8.是否有每晚花費在50美元以下的飯店?

Is there a hotel that costs under 50 dollars a night?

9.巴士站牌(出租車招呼站)在那裡?

Where is the bus stop(taxi stand)?

10.是否可建議一家位於市中心的旅館?

Could you recommend a hotel in center city?

(本圖擷取自網路)

11.我要早上8:00設定電話叫醒。

I would like to have a morning call at8:00 in the morning.

12.我要食物送到房間的服務。

I’d like to order room service, please.

13.我要單人房。

I’d like a single room.

14.我要兩張床的房間。

I’d like a double room.

15.我要在702房多加一張床。

I’d like an extra bed for room702.

16.退房的適合時間?

What is the time for check-out?

17.我想訂房。

I would like to book a room.

18.我要訂一間雙人房從(日期)到(日期)

I’d like to book a double room for3 nights from…(日期)..to(日期).

19.我會晚一點到達,請保留所預訂的房間。

I’m going to be arriving late, but please keep my reservation.

20.早餐幾點開始供應?

When is breakfast served?

(本圖擷取自網路)

21.你好,我們有2位。

Hi, a table for two, please.

22.我們想坐在靠窗的位子。

We prefer to sit by the window.

23.我可以坐這個位子嗎?

Can I take this seat?

24.我可以要冰水嗎?

May I have some ice water?

25.請給我菜單。

May I have a menu?

26.是否有中文菜單?

Do you have a menu in chinese?

27.這裡最受歡迎的餐點是什麼呢?

What is the most popular dish here?

28.不要辣椒。

Not spicy.

29.可以再幫我加點水嗎?

Can I have some more water?

30.買單

Check, please?

(本圖擷取自網路)

31.這裡有從機場去市中心的巴士嗎?

Is there an airport bus to center city?

32.巴士車站在哪裡?

Where is the bus stop?

33.乘計程車到市中心需要多少錢?

How much does it cost to take a taxi to center city?

34.不用找錢了。

Keep the change.

35.請拉我去這個地址。

Take me to this address, please.

36.到市中心需要多長時間?

How long does it take to go to center city?

37.請停在這裡。

Stop here, please.

38.幾點發車?

What time is the departure?

39.在哪裡買票?

Where can I get a ticket?

40.我想到(地名),請問要多少錢?

How much is it to(地名)?

(本圖擷取自網路)

41.我可以試穿這個嗎?

May I try this on?

42.這免稅嗎?

Is this tax free?

43.我可不可以用信用卡付帳?

Can I pay by credit card?

44.太貴了,打個折吧?

It’s too expensive. How about a discount?

45.你能賣便宜一點嗎?

Can you come down a little bit?

46.不能再便宜了嗎?

Is this your final price?

47.我要大一點的。

I’d like one size up.

48.我要買這個。

I’ll take this one.

49.我要在哪裡換錢?

Where can I change money?

50.收銀台在哪裡?

Where is the cashier?

2016年3月10日 星期四

Google 搜尋技巧 by GREEN

Google應該是目前使用者最多的網頁搜索網站了,但您真的會用它來找到需要的資料呢?

或是您找了一堆資料後,又要花時間去過濾不相干的資料?

看看這篇,或許對您有所幫助!

首先我們可以利用 google的進階搜尋來測試語法:

https://www.google.com/advanced_search

含以下所有字詞:輸入關鍵字: 黃金獵犬

與以下字詞或語句完全相符:在指定完全相符的字詞前後加上引號: "黃金獵犬"

含以下任何字詞:在各搜尋字詞之間輸入 OR: 小型 OR 標準

不含以下任何字詞:在想要排除的字詞前面加上減號: -黃金, -"拉布拉多" (注意,- 號前面要有空格!)

例如:

天龍八部 -林志穎

表示想找網頁中含有 天龍八部 但不含  林志穎 的網頁

也可以輸入多個字詞排除:

例如:

天龍八部 -林志穎 -特权