字符串分裂看起來像這樣:正則表達式的表達 - 字符串分割到三個變量
192.168.1.254445.... 0000 0000 0010 = Flags: 0x002 (SYN)
有此字符串中的信息的三個位需要被拉到不同變量分別是:
ip - 192.168.1.254
port - 445
flag - SYN
該ip是一個IP地址,因此它將需要捕獲全部地址。 端口可以是1-4位數字。 並且標誌可以包含三個,三個字母字符,例如SYN或SYN,ACK或SYN,ACK,URG等(例如不同的數據包標誌組合)
我曾嘗試使用Split作爲分割,但每當我將[1]一個
error - Index was outside the bounds of the array.
然後我創造了這個代碼進行看着C# RegEx string extraction:
Regex pattern = new Regex(@"(<?ip>\d+)(<?port>\d+).... \d{4} \d{4} \d{4} \d{4} = Flags: \d{1}x\d{3} ((<?flag>\w+))");
Match match = pattern.Match(dst1);
string ip = (match.Groups["ip"].Value);
string port = (match.Groups["port"].Value);
string flag = (match.Groups["flag"].Value);
string dst = ip + port + flag;
listBox1.Items.Add(dst);
但這返回爲ListBox沒有值
如果字符串更改爲:
192.168.1.254.... 0000 0000 0010 = Flags: 0x002 (SYN)445
會更容易嗎?
任何建議將是偉大的,
謝謝。
你不能,因爲沒有辦法知道在哪裏完成IP的最後一個號碼,並且在哪裏開始端口號。對於您給出的示例,結果可能是:ip = 192.168.1.25,端口:4445.但也許有關於此格式的更多信息。 – 2014-08-29 20:41:19
如果我設法將端口移動到(SYN)後面,那麼它可以完成嗎? – Taz 2014-08-29 20:41:53
是的,但你將如何做出這一舉動,這是同樣的問題。 – 2014-08-29 20:48:00